From 574c901b407ace4599363fa41377986ca01a5938 Mon Sep 17 00:00:00 2001
From: "2248356998 qq.com" <2248356998@qq.com>
Date: Fri, 24 Jan 2025 22:42:26 +0800
Subject: [PATCH] =?UTF-8?q?v10=E8=BF=81=E7=A7=BB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitattributes | 63 +
.gitignore | 7 +-
.gitmodules | 4 -
Admin | 1 -
README.md | 2 +-
README.zh-CN.md | 31 +-
git_pull.bat | 9 -
src/Admin/README.md | 21 +
src/Admin/README.zh-CN.md | 21 +
.../Aop/OperDescAttribute.cs | 164 +
.../Attributes/IgnoreExcelAttribute.cs | 19 +
.../IgnoreRolePermissionAttribute.cs | 26 +
.../Attributes/IgnoreSeedDataAttribute.cs | 35 +
.../Attributes/SuperAdminAttribute.cs | 27 +
.../Const/CacheConst.cs | 85 +
.../Const/ClaimConst.cs | 50 +
.../Const/ResourceConst.cs | 28 +
.../Const/RoleConst.cs | 50 +
.../Const/SqlSugarConst.cs | 43 +
.../Controller/AuthController.cs | 42 +
.../Controller/CultureController.cs | 72 +
.../Controller/FileController.cs | 50 +
.../Controller/OpenApiController.cs | 58 +
.../Controller/TestController.cs | 26 +
.../Entity/BaseEntity.cs | 148 +
.../Entity/SysDict.cs | 59 +
.../Entity/SysOperateLog.cs | 136 +
.../Entity/SysOrg.cs | 81 +
.../Entity/SysPosition.cs | 61 +
.../Entity/SysRelation.cs | 39 +
.../Entity/SysResource.cs | 101 +
.../Entity/SysRole.cs | 94 +
.../Entity/SysUser.cs | 253 ++
.../Entity/VerificatInfo.cs | 97 +
.../Enum/DataScopeEnum.cs | 41 +
.../Enum/DictTypeEnum.cs} | 16 +-
.../Enum/LogCateGoryEnum.cs | 19 +
.../Enum/OrgEnum.cs | 17 +
.../Enum/PositionCategoryEnum.cs | 18 +
.../Enum/RelationCategoryEnum.cs | 25 +
.../Enum/ResourceCategoryEnum.cs | 18 +
.../Enum/RoleCategoryEnum.cs | 17 +
.../Enum/TargetEnum.cs | 19 +
.../ApplicationBuilderExtensions.cs | 55 +
.../Extensions/CacheExtensions.cs | 88 +
.../Extensions/ExportExcelExtensions.cs | 120 +
.../Extensions/FileExtensions.cs | 44 +
.../Extensions/QueryPageOptionsExtensions.cs | 97 +
.../Extensions/SqlSugarExtensions.cs | 244 ++
.../FodyWeavers.xml | 3 +
.../GlobalUsings.cs | 12 +
.../Job/Hardware/HardwareInfo.cs | 60 +
.../Job/Hardware/HardwareJob.cs | 147 +
.../Job/Hardware/HistoryHardwareInfo.cs | 43 +
.../Job/Hardware/IHardwareJob.cs | 18 +
.../Job/JobPersistence.cs | 76 +
.../Job/LogJob/LogJob.cs | 33 +
.../Locales/en-US.json | 464 +++
.../Locales/zh-CN.json | 466 +++
.../Logging/DatabaseLoggingWriter.cs | 214 +
.../Logging/LoggingConst.cs | 42 +
.../Logging/LoggingMonitorJson.cs | 187 +
.../Options/AdminLogOptions.cs | 21 +
.../Options/EmailOptions.cs | 60 +
.../Options/HardwareInfoOptions.cs | 34 +
.../Options/TenantOptions.cs | 23 +
.../BlazorAuthenticationStateProvider.cs | 247 ++
.../Provider/UnifyResultProvider.cs | 102 +
.../SeedData/Admin/seed_sys_dict.json | 124 +
.../SeedData/Admin/seed_sys_relation.json | 11 +
.../SeedData/Admin/seed_sys_resource.json | 288 ++
.../Admin/seed_sys_resourcebutton.json | 845 ++++
.../SeedData/SysDictSeedData.cs | 28 +
.../SeedData/SysOrgSeedData.cs | 42 +
.../SeedData/SysPositionSeedData.cs | 41 +
.../SeedData/SysRelationSeedData.cs | 28 +
.../SeedData/SysResourceSeedData.cs | 36 +
.../SeedData/SysRoleSeedData.cs | 37 +
.../SeedData/SysUserSeedData.cs | 40 +
.../ApiPermission/ApiPermissionService.cs | 194 +
.../ApiPermission/IApiPermissionService.cs | 24 +
.../Services/AppService/AppService.cs | 77 +
.../Services/AppService/IAppService.cs | 58 +
.../Services/Auth/AuthRazorService.cs | 71 +
.../Services/Auth/AuthService.cs | 409 ++
.../Services/Auth/Dto/AuthInput.cs | 72 +
.../Services/Auth/Dto/AuthOutput.cs | 72 +
.../Services/Auth/IAuthRazorService.cs | 26 +
.../Services/Auth/IAuthService.cs | 30 +
.../Services/Dict/Dto/AppConfig.cs | 31 +
.../Services/Dict/Dto/LoginPolicy.cs | 43 +
.../Services/Dict/Dto/PagePolicy.cs | 19 +
.../Services/Dict/Dto/PasswordPolicy.cs | 48 +
.../Services/Dict/Dto/WebsitePolicy.cs | 27 +
.../Services/Dict/ISysDictService.cs | 92 +
.../Services/Dict/SysDictService.cs | 336 ++
.../Services/Event/EventService.cs | 48 +
.../Services/Event/IEventService.cs | 37 +
.../Services/File/FileService.cs | 96 +
.../Services/File/IFileService.cs | 50 +
.../ImportExport/IImportExportService.cs | 51 +
.../ImportExport/ImportExportService.cs | 101 +
.../Services/MessageService/Dto/AppMessage.cs | 29 +
.../MessageService/Dto/NavigationUri.cs | 22 +
.../MessageService/Dto/UserLoginOut.cs | 20 +
.../MessageService/Email/EmailService.cs | 63 +
.../MessageService/Email/IEmailService.cs | 25 +
.../MessageService/Notice/INoticeService.cs | 35 +
.../MessageService/Notice/NoticeService.cs | 68 +
.../OperateLog/Dto/OperateLogInput.cs | 55 +
.../OperateLog/Dto/OperateLogOutput.cs | 48 +
.../OperateLog/ISysOperateLogService.cs | 44 +
.../OperateLog/SysOperateLogService.cs | 95 +
.../Services/Org/Dto/OrgInput.cs} | 27 +-
.../Services/Org/ISysOrgService.cs | 88 +
.../Services/Org/SysOrgService.cs | 532 +++
.../Services/Pos/Dto/PositionInput.cs | 18 +
.../Services/Pos/Dto/PositionOutput.cs} | 67 +-
.../Services/Pos/ISysPositionService.cs | 73 +
.../Services/Pos/SysPositionService.cs | 289 ++
.../Services/Relation/IRelationService.cs | 87 +
.../Services/Relation/RelationService.cs | 203 +
.../Services/Resource/Dto/ResourceInput.cs | 70 +
.../Services/Resource/Dto/ResourceOutput.cs | 45 +
.../Services/Resource/ISysResourceService.cs | 115 +
.../Services/Resource/SysResourceService.cs | 403 ++
.../Services/Role/Dto/RoleInput.cs | 72 +
.../Services/Role/Dto/RoleOutput.cs | 38 +
.../Services/Role/ISysRoleService.cs | 109 +
.../Services/Role/SysRoleService.cs | 530 +++
.../Services/Session/Dto/SessionInput.cs | 27 +
.../Services/Session/Dto/SessionOutput.cs | 58 +
.../Services/Session/ISessionService.cs | 37 +
.../Services/Session/SessionService.cs | 209 +
.../SugarAopService/ISugarAopService.cs | 34 +
.../SugarAopService/SugarAopService.cs | 130 +
.../Services/SugarService/BaseService.cs | 155 +
.../Services/User/Dto/UserInput.cs | 32 +
.../Services/User/Dto/UserOutput.cs | 46 +
.../Services/User/ISysUserService.cs | 178 +
.../Services/User/SysUserService.cs | 924 +++++
.../UserCenter/Dto/UserCenterInput.cs | 46 +
.../UserCenter/Dto/UserCenterOutput.cs | 11 +
.../Services/UserCenter/IUserCenterService.cs | 50 +
.../Services/UserCenter/UserCenterService.cs | 229 ++
.../VerificatInfo/IVerificatInfoService.cs | 36 +
.../VerificatInfo/VerificatInfoService.cs | 185 +
.../SqlSugar/CodeFirstUtils.cs | 109 +
.../SqlSugar/DbContext.cs | 105 +
.../SqlSugar/ISqlSugarEntitySeedData.cs | 24 +
.../SqlSugar/SeedDataUtil.cs | 131 +
.../SqlSugar/SqlSugarOptions.cs | 48 +
.../Startup.cs | 104 +
.../Static/UserManager.cs | 49 +
.../ThingsGateway.Admin.Application.csproj | 52 +
.../Util/ClearTokenUtil.cs | 47 +
.../Util/CommonUtils.cs | 28 +
.../Util/ImportExportUtil.cs | 42 +
.../Util/NoticeUtil.cs | 64 +
.../Util/OpenApiUtil.cs | 44 +
.../Util/OrgUtil.cs | 104 +
.../Util/PositionUtil.cs | 67 +
.../Util/RoleUtil.cs | 48 +
.../Util/UserUtil.cs | 37 +
.../Components/AdminTable.razor | 41 +
.../Components/AdminTable.razor.cs | 415 ++
.../Components/ChoiceModuleComponent.razor | 14 +
.../Components/ChoiceModuleComponent.razor.cs | 59 +
.../ChoiceModuleComponent.razor.css | 17 +
.../Components/ChoiceTable.razor | 87 +
.../Components/ChoiceTable.razor.cs | 65 +
.../Components/ComponentDefault.cs | 60 +
.../Components/LoginConnectionHub.razor | 10 +
.../Components/LoginConnectionHub.razor.cs | 134 +
.../Components/UserLogin.razor | 19 +
.../Components/UserLogin.razor.cs | 66 +
.../Const/AdminOperConst.cs | 19 +
.../Context/BlazorAppContext.cs | 177 +
.../Locales/en-US.json | 74 +
.../Locales/zh-CN.json | 74 +
.../Pages/AppConfig/AppConfigPage.razor | 27 +
.../Pages/AppConfig/AppConfigPage.razor.cs | 92 +
.../Pages/AppConfig/AppConfigPage.razor.css | 7 +
.../Pages/AppConfig/EditPagePolicy.razor | 25 +
.../Pages/AppConfig/EditPagePolicy.razor.cs | 56 +
.../Pages/Dict/SysDictPage.razor | 34 +
.../Pages/Dict/SysDictPage.razor.cs | 63 +
.../Pages/Dict/SysDictSortCodeEdit.razor | 8 +
.../Pages/Dict/SysDictSortCodeEdit.razor.cs | 21 +
.../Pages/HardwareInfoPage.razor | 147 +
.../Pages/HardwareInfoPage.razor.cs | 129 +
.../Pages/HardwareInfoPage.razor.css | 12 +
.../Pages/LogPage/OperLogPage.razor | 43 +
.../Pages/LogPage/OperLogPage.razor.cs | 112 +
.../Pages/Org/OrgTree.razor | 14 +
.../Pages/Org/OrgTree.razor.cs | 106 +
.../Pages/Org/OrgTree.razor.css | 9 +
.../Pages/Org/SysOrgCopy.razor | 35 +
.../Pages/Org/SysOrgCopy.razor.cs | 46 +
.../Pages/Org/SysOrgEdit.razor | 54 +
.../Pages/Org/SysOrgEdit.razor.cs | 51 +
.../Pages/Org/SysOrgPage.razor | 86 +
.../Pages/Org/SysOrgPage.razor.cs | 112 +
.../Pages/Position/PositionTree.razor | 14 +
.../Pages/Position/PositionTree.razor.cs | 105 +
.../Pages/Position/PositionTree.razor.css | 10 +
.../Pages/Position/SysPositionEdit.razor | 35 +
.../Pages/Position/SysPositionEdit.razor.cs | 40 +
.../Pages/Position/SysPositionPage.razor | 78 +
.../Pages/Position/SysPositionPage.razor.cs | 70 +
.../Pages/Resource/MenuChoice.razor | 8 +
.../Pages/Resource/MenuChoice.razor.cs | 99 +
.../Pages/Resource/MenuChoice.razor.css} | 0
.../Pages/Resource/MenuChoiceDialog.razor | 16 +
.../Pages/Resource/MenuChoiceDialog.razor.cs | 58 +
.../Pages/Resource/MenuChoiceDialog.razor.css | 14 +
.../Pages/Resource/SysResourceEdit.razor | 63 +
.../Pages/Resource/SysResourceEdit.razor.cs | 49 +
.../Pages/Resource/SysResourcePage.razor | 84 +
.../Pages/Resource/SysResourcePage.razor.cs | 166 +
.../Pages/Role/RoleTree.razor | 14 +
.../Pages/Role/RoleTree.razor.cs | 106 +
.../Pages/Role/RoleTree.razor.css | 10 +
.../Pages/Role/SysRoleEdit.razor | 62 +
.../Pages/Role/SysRoleEdit.razor.cs | 70 +
.../Pages/Role/SysRolePage.razor | 50 +
.../Pages/Role/SysRolePage.razor.cs | 241 ++
.../Pages/Session/SessionPage.razor | 43 +
.../Pages/Session/SessionPage.razor.cs | 61 +
.../Pages/Session/VerificatListDialog.razor | 42 +
.../Session/VerificatListDialog.razor.cs | 38 +
.../Pages/User/GrantApiDialog.razor | 16 +
.../Pages/User/GrantApiDialog.razor.cs | 54 +
.../Pages/User/GrantApiDialog.razor.css | 32 +
.../Pages/User/GrantResourceDialog.razor | 19 +
.../Pages/User/GrantResourceDialog.razor.cs | 58 +
.../Pages/User/GrantResourceDialog.razor.css | 32 +
.../Pages/User/RoleChoiceDialog.razor | 24 +
.../Pages/User/RoleChoiceDialog.razor.cs | 64 +
.../Pages/User/RoleChoiceDialog.razor.css} | 0
.../Pages/User/SysUserAvatarEdit.razor | 7 +
.../Pages/User/SysUserAvatarEdit.razor.cs | 73 +
.../Pages/User/SysUserEdit.razor | 41 +
.../Pages/User/SysUserEdit.razor.cs | 48 +
.../Pages/User/SysUserPage.razor | 58 +
.../Pages/User/SysUserPage.razor.cs | 247 ++
.../Pages/User/SysUserPage.razor.css | 4 +
.../Pages/User/UserChoice.razor | 8 +
.../Pages/User/UserChoice.razor.cs | 102 +
.../Pages/User/UserChoice.razor.css | 1 +
.../Pages/User/UserChoiceDialog.razor | 30 +
.../Pages/User/UserChoiceDialog.razor.cs | 83 +
.../Pages/User/UserChoiceDialog.razor.css | 1 +
.../Pages/UserCenter/UserCenterPage.razor | 21 +
.../Pages/UserCenter/UserCenterPage.razor.cs | 97 +
.../UserCenter/UserInfoEditComponent.razor | 13 +
.../UserCenter/UserInfoEditComponent.razor.cs | 75 +
.../UserPassowrdEditComponent.razor | 12 +
.../UserPassowrdEditComponent.razor.cs | 36 +
.../Services/MenuService.cs | 26 +
.../ThingsGateway.Admin.Razor/Startup.cs | 23 +
.../ThingsGateway.Admin.Razor.csproj | 31 +
.../Util/ResourceUtil.cs | 152 +
.../ThingsGateway.Admin.Razor/_Imports.razor | 19 +
.../_Imports.razor.cs} | 12 +-
.../Configuration/AdminLog.json} | 2 +-
.../Configuration/App.json | 30 +
.../Configuration/BootstrapBlazor.json | 33 +
.../Configuration/Database.Development.json | 76 +
.../Configuration/Database.json | 76 +
.../Configuration/Email.json | 14 +
.../Configuration/HardwareInfo.json | 7 +
.../Configuration/JWT.json | 17 +
.../Configuration/Logging.json | 48 +
.../Configuration/Memu.json | 37 +
.../Configuration/Swagger.json | 33 +
.../Configuration/Tenant.json | 6 +
.../Configuration/Website.json | 13 +
.../ThingsGateway.AdminServer/Dockerfile | 19 +
.../Dockerfile_arm64 | 19 +
.../Index/AdminIndex.razor | 57 +
.../Index/AdminIndex.razor.cs | 174 +
.../Layout/AccessDenied.razor | 26 +
.../Layout/AccessDenied.razor.cs | 37 +
.../Layout/BlazorApp.razor | 49 +
.../Layout/Login.razor | 55 +
.../Layout/Login.razor.cs | 110 +
.../Layout/Login.razor.css | 43 +
.../Layout/MainLayout.razor | 110 +
.../Layout/MainLayout.razor.cs | 229 ++
.../Layout/MainLayout.razor.css | 152 +
.../Layout/NotFound404.razor | 15 +
.../Layout/NotFound404.razor.cs | 27 +
.../Layout}/Routes.razor | 15 +-
.../Locales/en-US.json | 81 +
.../Locales/zh-CN.json | 85 +
.../Pages/_Host.cshtml | 56 +
.../Program}/Program.cs | 63 +-
.../Program/SingleFilePublish.cs | 47 +
.../Program/Startup.cs | 441 ++
.../Properties/launchSettings.json | 15 +
.../ThingsGateway.AdminServer.csproj | 76 +
.../WindowsServiceCreate.bat | 5 +
.../WindowsServiceDelete.bat | 3 +
.../appsettings.Development.json | 8 +
.../appsettings.json | 8 +
.../ThingsGateway.AdminServer/pm2-linux.json | 22 +
.../pm2-windows.json | 22 +
.../thingsgateway.service | 39 +
.../wwwroot}/favicon.ico | Bin
.../wwwroot/favicon.png | Bin 0 -> 10516 bytes
.../wwwroot/manifest.json | 21 +
.../wwwroot/service-worker.js | 4 +
.../wwwroot/service-worker.published.js | 48 +
src/Admin/ThingsGateway.Furion/App/App.cs | 605 +++
.../App/Attributes/AppStartupAttribute.cs | 34 +
.../AppApplicationBuilderExtensions.cs | 125 +
.../AppServiceCollectionExtensions.cs | 269 ++
.../AppWebApplicationBuilderExtensions.cs | 149 +
.../App/Extensions/HostBuilderExtensions.cs | 111 +
.../Extensions/IConfigurationExtenstions.cs | 35 +
.../App/Extensions/IServiceScopeExtensions.cs | 40 +
.../App/Extensions/ObjectExtensions.cs | 674 +++
.../Extensions/Options/AddInjectOptions.cs | 65 +
.../App/Extensions/Options/InjectOptions.cs | 117 +
.../Extensions/Options/UseInjectOptions.cs | 49 +
.../App/Filters/StartupFilter.cs | 79 +
.../App/Internal/InternalApp.cs | 254 ++
src/Admin/ThingsGateway.Furion/App/Native.cs | 152 +
.../App/Options/AppSettingsOptions.cs | 79 +
.../App/Options/GenericRunOptions.cs | 189 +
.../App/Options/IRunOptions.cs | 19 +
.../App/Options/LegacyRunOptions.cs | 264 ++
.../App/Options/RunOptions.cs | 343 ++
src/Admin/ThingsGateway.Furion/App/Serve.cs | 1012 +++++
.../App/ServeComponent.cs | 99 +
.../App/SingleFile/ISingleFilePublish.cs | 34 +
.../App/Startups/AppStartup.cs | 20 +
.../App/Startups/FakeStartup.cs | 37 +
.../GenericHostLifetimeEventsHostedService.cs | 50 +
.../App/Startups/HostingStartup.cs | 32 +
...tCoreBuilderServiceCollectionExtensions.cs | 132 +
.../Extensions/HttpContextExtensions.cs | 211 +
.../AspNetCore/Extensions/IHostExtensions.cs | 65 +
.../ModelBindingContextExtensions.cs | 62 +
.../Attributes/FlexibleArrayAttribute.cs | 29 +
.../Attributes/FromConvertAttribute.cs | 41 +
.../Binders/FlexibleArrayModelBinder.cs | 90 +
.../ModelBinders/Binders/FromConvertBinder.cs | 144 +
.../Binders/FromConvertBinderProvider.cs | 66 +
.../Binders/TimestampToDateTimeModelBinder.cs | 86 +
.../Converts/DateTimeModelConvertBinder.cs | 36 +
.../DateTimeOffsetModelConvertBinder.cs | 38 +
.../Converts/IModelConvertBinder.cs | 31 +
.../Attributes/AppAuthorizeAttribute.cs | 44 +
.../Attributes/SecurityDefineAttribute.cs | 40 +
.../AuthorizationHandlerContextExtensions.cs | 66 +
...uthorizationServiceCollectionExtensions.cs | 56 +
.../Handlers/AppAuthorizeHandler.cs | 161 +
.../Authorization/Internal/Penetrates.cs | 23 +
.../AppAuthorizationPolicyProvider.cs | 77 +
.../Requirements/AppAuthorizeRequirement.cs | 35 +
.../Attributes/DependsOnAttribute.cs | 147 +
.../Components/Contexts/ComponentContext.cs | 151 +
.../Components/Dependencies/IComponent.cs | 19 +
.../ComponentApplicationBuilderExtensions.cs | 78 +
.../ComponentServiceCollectionExtensions.cs | 73 +
.../Components/IApplicationComponent.cs | 31 +
.../Components/IServiceComponent.cs | 29 +
.../Components/IWebComponent.cs | 31 +
.../Components/Internal/Penetrates.cs | 153 +
.../Attributes/MapSettingsAttribute.cs | 34 +
.../Attributes/OptionsSettingsAttribute.cs | 65 +
...rableOptionsServiceCollectionExtensions.cs | 115 +
.../Internal/Penetrates.cs | 59 +
.../Options/IConfigurableOptions.cs | 62 +
.../Configuration/Constants/Constants.cs | 34 +
.../IConfigurationBuilderExtensions.cs | 218 +
.../Extensions/IConfigurationExtensions.cs | 87 +
...orsAccessorApplicationBuilderExtensions.cs | 60 +
...CorsAccessorServiceCollectionExtensions.cs | 66 +
.../CorsAccessor/Internal/Penetrates.cs | 77 +
.../Options/CorsAccessorSettingsOptions.cs | 84 +
.../Encryptions/AESEncryption.cs | 163 +
.../Encryptions/DESEncryption.cs | 91 +
.../Encryptions/KSortEncryption.cs | 172 +
.../Encryptions/MD5Encryption.cs | 83 +
.../Encryptions/PBKDF2Encryption.cs | 78 +
.../Encryptions/RSAEncryption.cs | 147 +
.../Encryptions/SHA1Encryption.cs | 78 +
.../Extensions/StringEncryptionExtensions.cs | 246 ++
.../Attributes/DataValidationAttribute.cs | 97 +
.../Attributes/NonValidationAttribute.cs | 20 +
.../ValidationItemMetadataAttribute.cs | 49 +
.../Attributes/ValidationMessageAttribute.cs | 33 +
.../ValidationMessageTypeAttribute.cs | 20 +
.../Attributes/ValidationTypeAttribute.cs | 20 +
.../DataValidation/Enums/ValidationPattern.cs | 31 +
.../DataValidation/Enums/ValidationTypes.cs | 352 ++
.../Extensions/DataValidationExtensions.cs | 154 +
...taValidationServiceCollectionExtensions.cs | 122 +
.../Options/DataValidationOptions.cs | 39 +
.../Filters/DataValidationFilter.cs | 208 +
.../Filters/DataValidationPageFilter.cs | 170 +
.../Internal/DataValidationResult.cs | 36 +
.../Internal/ValidationMetadata.cs | 71 +
.../ValidationTypeMessageSettingsOptions.cs | 25 +
.../IValidationMessageTypeProvider.cs | 23 +
.../DataValidation/ValidatorContext.cs | 84 +
.../Validators/DataValidator.cs | 317 ++
.../Attributes/InjectionAttribute.cs | 72 +
.../Attributes/SuppressProxyAttribute.cs | 20 +
.../Attributes/SuppressSnifferAttribute.cs | 21 +
.../Dependencies/IPrivateDependency.cs | 19 +
.../Dependencies/IScoped.cs | 19 +
.../Dependencies/ISingleton.cs | 19 +
.../Dependencies/ITransient.cs | 19 +
.../Enums/InjectionActions.cs | 33 +
.../Enums/InjectionPatterns.cs | 51 +
.../DependencyInjection/Enums/RegisterType.cs | 39 +
...ncyInjectionServiceCollectionExtensions.cs | 380 ++
.../Internal/ExternalService.cs | 60 +
.../DependencyInjectionSettingsOptions.cs | 37 +
.../Providers/INamedServiceProvider.cs | 52 +
.../Providers/NamedServiceProvider.cs | 124 +
.../DependencyInjection/Scoped.cs | 91 +
.../ApiDescriptionSettingsAttribute.cs | 135 +
.../Attributes/ApiSeatAttribute.cs | 33 +
.../DynamicApiControllerAttribute.cs | 20 +
.../Attributes/QueryParametersAttribute.cs | 26 +
.../Attributes/RouteConstraintAttribute.cs | 33 +
.../Builders/DynamicApiControllerBuilder.cs | 33 +
...ApiControllerApplicationModelConvention.cs | 999 +++++
.../Dependencies/IDynamicApiController.cs | 19 +
.../DynamicApiController/Enums/ApiSeats.cs | 45 +
...piControllerServiceCollectionExtensions.cs | 142 +
.../Formatters/TextPlainMediaTypeFormatter.cs | 48 +
.../Internal/ParameterRouteTemplate.cs | 49 +
.../Internal/Penetrates.cs | 118 +
.../DynamicApiControllerSettingsOptions.cs | 156 +
.../DynamicApiControllerFeatureProvider.cs | 33 +
.../MvcActionDescriptorChangeProvider.cs | 53 +
.../DynamicApiRuntimeChangeProvider.cs | 137 +
.../IDynamicApiRuntimeChangeProvider.cs | 61 +
.../Attributes/EventSubscribeAttribute.cs | 88 +
.../Builders/EventBusOptionsBuilder.cs | 309 ++
.../Constants/EventSubscribeOperates.cs | 29 +
.../EventBus/Contexts/EventHandlerContext.cs | 60 +
.../Contexts/EventHandlerExecutedContext.cs | 46 +
.../Contexts/EventHandlerExecutingContext.cs | 41 +
.../EventBus/Dependencies/IEventPublisher.cs | 82 +
.../EventBus/Dependencies/IEventSubscriber.cs | 31 +
.../EventBus/Events/EventHandlerEventArgs.cs | 45 +
.../Executors/IEventHandlerExecutor.cs | 27 +
.../Extensions/EventBusExtensitions.cs | 46 +
.../EventBusServiceCollectionExtensions.cs | 103 +
.../EventBus/Factories/EventBusFactory.cs | 76 +
.../EventBus/Factories/IEventBusFactory.cs | 39 +
.../HostedServices/EventBusHostedService.cs | 456 +++
.../Internal/ChannelEventPublisher.cs | 130 +
.../EventBus/Internal/Logging.cs | 19 +
.../EventBus/MessageCenter.cs | 139 +
.../EventBus/Monitors/IEventHandlerMonitor.cs | 32 +
.../EventBus/Policies/IEventFallbackPolicy.cs | 27 +
.../EventBus/Sources/ChannelEventSource.cs | 118 +
.../Sources/EventSubscribeOperateSource.cs | 73 +
.../EventBus/Sources/IEventSource.cs | 44 +
.../Storers/ChannelEventSourceStorer.cs | 75 +
.../EventBus/Storers/IEventSourceStorer.cs | 37 +
.../EventBus/Wrappers/EventHandlerWrapper.cs | 78 +
.../FriendlyException/Assets/error.html | 164 +
.../ErrorCodeItemMetadataAttribute.cs | 45 +
.../Attributes/ErrorCodeTypeAttribute.cs | 20 +
.../Exceptions/AppFriendlyException.cs | 81 +
.../AppFriendlyExceptionExtensions.cs | 45 +
...dlyExceptionServiceCollectionExtensions.cs | 103 +
.../Options/FriendlyExceptionOptions.cs | 23 +
.../Filters/FriendlyExceptionFilter.cs | 189 +
.../Handlers/IGlobalExceptionHandler.cs | 27 +
.../Internal/ExceptionMetadata.cs | 49 +
.../FriendlyException/Internal/Logging.cs | 19 +
.../Internal/MethodIfException.cs | 26 +
.../FriendlyException/Oops.cs | 381 ++
.../ErrorCodeMessageSettingsOptions.cs | 25 +
.../FriendlyExceptionSettingsOptions.cs | 62 +
.../Providers/IErrorCodeTypeProvider.cs | 23 +
.../Results/BadPageResult.cs | 169 +
.../FriendlyException/Retry.cs | 123 +
.../ThingsGateway.Furion/GlobalUsings.cs | 14 +
...uthorizationServiceCollectionExtensions.cs | 144 +
.../ThingsGateway.Furion/JWT/JWTEncryption.cs | 529 +++
.../JWT/Options/JWTSettingsOptions.cs | 73 +
.../NewtonsoftJsonDateOnlyJsonConverter.cs | 126 +
.../NewtonsoftJsonDateTimeJsonConverter.cs | 166 +
...wtonsoftJsonDateTimeOffsetJsonConverter.cs | 166 +
...NewtonsoftJsonLongToStringJsonConverter.cs | 141 +
.../NewtonsoftJsonTimeOnlyJsonConverter.cs | 126 +
.../SystemTextJsonDateOnlyJsonConverter.cs | 120 +
.../SystemTextJsonDateTimeJsonConverter.cs | 159 +
...stemTextJsonDateTimeOffsetJsonConverter.cs | 159 +
...SystemTextJsonLongToStringJsonConverter.cs | 136 +
.../SystemTextJsonTimeOnlyJsonConverter.cs | 120 +
...erializationServiceCollectionExtensions.cs | 54 +
.../Extensions/NewtonsoftJsonExtensions.cs | 82 +
.../Extensions/SystemTextJsonExtensions.cs | 83 +
.../JsonSerialization/Internal/Penetrates.cs | 72 +
.../JsonSerialization/JSON.cs | 85 +
.../Providers/IJsonSerializerProvider.cs | 50 +
.../SystemTextJsonSerializerProvider.cs | 105 +
.../Logging/Extensions/ILoggerExtensions.cs | 63 +
.../Extensions/ILoggerFactoryExtensions.cs | 150 +
.../Extensions/ILoggingBuilderExtensions.cs | 198 +
.../Extensions/LogContextExtensions.cs | 88 +
.../Extensions/LogMessageExtensions.cs | 66 +
.../LoggingServiceCollectionExtensions.cs | 155 +
.../Extensions/StringLoggingExtensions.cs | 665 +++
.../Implantations/Console/ConsoleColors.cs | 39 +
.../Console/ConsoleFormatterExtend.cs | 141 +
.../Console/ConsoleFormatterExtendOptions.cs | 72 +
.../Implantations/Database/DatabaseLogger.cs | 144 +
.../Database/DatabaseLoggerOptions.cs | 83 +
.../Database/DatabaseLoggerProvider.cs | 190 +
.../Database/DatabaseLoggerSettings.cs | 57 +
.../Database/DatabaseWriteError.cs | 33 +
.../Database/IDatabaseLoggingWriter.cs | 26 +
.../Implantations/Empty/EmptyLogger.cs | 63 +
.../Empty/EmptyLoggerProvider.cs | 49 +
.../Logging/Implantations/File/FileLogger.cs | 131 +
.../Implantations/File/FileLoggerOptions.cs | 107 +
.../Implantations/File/FileLoggerProvider.cs | 187 +
.../Implantations/File/FileLoggerSettings.cs | 73 +
.../Implantations/File/FileLoggingWriter.cs | 363 ++
.../Implantations/File/FileWriteError.cs | 54 +
.../Logging/Implantations/LogContext.cs | 39 +
.../Logging/Implantations/LogMessage.cs | 125 +
.../Monitors/ContractResolverTypes.cs | 30 +
.../Implantations/Monitors/JsonBehavior.cs | 40 +
.../Monitors/JsonElementConverter.cs | 64 +
.../Logging/Implantations/Monitors/Logging.cs | 19 +
.../Monitors/LoggingMonitorAttribute.cs | 1138 ++++++
.../Monitors/LoggingMonitorContext.cs | 66 +
.../Monitors/LoggingMonitorMethod.cs | 67 +
.../Monitors/LoggingMonitorSettings.cs | 146 +
.../Monitors/PropertyNamesContractResolver.cs | 99 +
.../Monitors/SuppressMonitorAttribute.cs | 21 +
.../Logging/Internal/Logging.cs | 19 +
.../Logging/Internal/Penetrates.cs | 352 ++
.../Logging/Internal/StringLoggingPart.cs | 71 +
.../Internal/StringLoggingPartMethods.cs | 178 +
.../Internal/StringLoggingPartSetters.cs | 134 +
src/Admin/ThingsGateway.Furion/Logging/Log.cs | 660 +++
.../Logging/LoggerFormatter.cs | 80 +
...ObjectMapperServiceCollectionExtensions.cs | 57 +
.../Attributes/FailureMessageAttribute.cs | 33 +
.../Attributes/OptionsBuilderAttribute.cs | 60 +
.../OptionsBuilderMethodMapAttribute.cs | 40 +
.../Options/Constants/Constants.cs | 24 +
.../Dependencies/IConfigureOptionsBuilder.cs | 163 +
.../Dependencies/IOptionsBuilderDependency.cs | 21 +
.../IPostConfigureOptionsBuilder.cs | 163 +
.../Dependencies/IValidateOptionsBuilder.cs | 163 +
.../Extensions/OptionsBuilderExtensions.cs | 302 ++
src/Admin/ThingsGateway.Furion/README.md | 14 +
.../ThingsGateway.Furion/README.zh-CN.md | 14 +
.../Extensions/MethodInfoExtensions.cs | 163 +
.../Internal/MethodParameterInfo.cs | 35 +
.../Reflection/Proxies/AspectDispatchProxy.cs | 56 +
.../Proxies/AspectDispatchProxyGenerator.cs | 1119 +++++
.../Reflection/Proxies/IDispatchProxy.cs | 28 +
.../Proxies/IGlobalDispatchProxy.cs | 19 +
.../Reflection/Reflect.cs | 153 +
.../Schedule/Attributes/CronAttribute.cs | 43 +
.../Schedule/Attributes/JobDetailAttribute.cs | 87 +
.../Attributes/MacroAts/DailyAtAttribute.cs | 28 +
.../Attributes/MacroAts/HourlyAtAttribute.cs | 28 +
.../MacroAts/MinutelyAtAttribute.cs | 28 +
.../Attributes/MacroAts/MonthlyAtAttribute.cs | 28 +
.../MacroAts/SecondlyAtAttribute.cs | 28 +
.../Attributes/MacroAts/WeeklyAtAttribute.cs | 28 +
.../Attributes/MacroAts/YearlyAtAttribute.cs | 28 +
.../Attributes/Macros/DailyAttribute.cs | 27 +
.../Attributes/Macros/HourlyAttribute.cs | 27 +
.../Attributes/Macros/MinutelyAttribute.cs | 27 +
.../Attributes/Macros/MonthlyAttribute.cs | 27 +
.../Attributes/Macros/SecondlyAttribute.cs | 27 +
.../Attributes/Macros/WeeklyAttribute.cs | 27 +
.../Attributes/Macros/WorkdayAttribute.cs | 27 +
.../Attributes/Macros/YearlyAttribute.cs | 27 +
.../Schedule/Attributes/PeriodAttribute.cs | 29 +
.../Periods/PeriodHoursAttribute.cs | 28 +
.../Periods/PeriodMinutesAttribute.cs | 28 +
.../Periods/PeriodSecondsAttribute.cs | 28 +
.../Schedule/Attributes/TriggerAttribute.cs | 147 +
.../Schedule/Builders/JobBuilder.cs | 389 ++
.../Builders/ScheduleOptionsBuilder.cs | 582 +++
.../Schedule/Builders/SchedulerBuilder.cs | 571 +++
.../Builders/TriggerBuilder.Setters.cs | 291 ++
.../Schedule/Builders/TriggerBuilder.cs | 637 +++
.../Cancellations/IJobCancellationToken.cs | 35 +
.../Cancellations/JobCancellationToken.cs | 112 +
.../Schedule/Constants/ClusterStatus.cs | 34 +
.../Schedule/Constants/NamingConventions.cs | 38 +
.../Schedule/Constants/PersistenceBehavior.cs | 34 +
.../Schedule/Constants/ScheduleResult.cs | 44 +
.../Schedule/Constants/SqlTypes.cs | 55 +
.../Schedule/Constants/TriggerStatus.cs | 93 +
.../Schedule/Contexts/JobClusterContext.cs | 33 +
.../Schedule/Contexts/JobExecutedContext.cs | 46 +
.../Schedule/Contexts/JobExecutingContext.cs | 41 +
.../Schedule/Contexts/JobExecutionContext.cs | 119 +
.../Schedule/Contexts/JobFactoryContext.cs | 46 +
.../Schedule/Contexts/PersistenceContext.cs | 101 +
.../PersistenceExecutionRecordContext.cs | 80 +
.../Contexts/PersistenceTriggerContext.cs | 113 +
.../Converters/DateTimeJsonConverter.cs | 45 +
.../Dashboard/backend/ScheduleUIExtensions.cs | 81 +
.../Dashboard/backend/ScheduleUIMiddleware.cs | 330 ++
.../Dashboard/backend/ScheduleUIOptions.cs | 57 +
.../Schedule/Dashboard/frontend/apiconfig.js | 1 +
.../Dashboard/frontend/asset-manifest.json | 13 +
.../Schedule/Dashboard/frontend/favicon.ico | Bin 0 -> 4286 bytes
.../Schedule/Dashboard/frontend/index.html | 1 +
.../frontend/static/css/main.8eb42378.css | 2 +
.../frontend/static/css/main.8eb42378.css.map | 1 +
.../frontend/static/js/main.78b3d71a.js | 3 +
.../static/js/main.78b3d71a.js.LICENSE.txt | 69 +
.../frontend/static/js/main.78b3d71a.js.map | 1 +
.../Schedule/Dependencies/IJob.cs | 37 +
.../Schedule/Dependencies/IJobFactory.cs | 27 +
.../Schedule/Details/JobDetail.Methods.cs | 355 ++
.../Schedule/Details/JobDetail.cs | 99 +
.../Schedule/Details/JobDetailOptions.cs | 66 +
.../Events/JobExecutionRecordEventArgs.cs | 33 +
.../Schedule/Events/SchedulerEventArgs.cs | 33 +
.../Schedule/Executors/IJobExecutor.cs | 28 +
.../Schedule/Extensions/ScheduleExtensions.cs | 261 ++
.../ScheduleServiceCollectionExtensions.cs | 105 +
.../Factories/ISchedulerFactory.Exports.cs | 725 ++++
.../Factories/ISchedulerFactory.Internal.cs | 86 +
.../Factories/SchedulerFactory.Exports.cs | 1417 +++++++
.../Factories/SchedulerFactory.Internal.cs | 579 +++
.../HostedServices/ScheduleHostedService.cs | 513 +++
.../Schedule/Http/HttpJob.cs | 143 +
.../Schedule/Http/HttpJobMessage.cs | 74 +
.../Schedule/Internal/DynamicJob.cs | 33 +
.../Schedule/Internal/Logging.cs | 26 +
.../Schedule/Internal/Penetrates.cs | 294 ++
.../Internal/RepeatKeyEqualityComparer.cs | 41 +
.../Schedule/Loggers/IScheduleLogger.cs | 72 +
.../Schedule/Loggers/ScheduleLogger.cs | 128 +
.../Schedule/Monitors/IJobMonitor.cs | 34 +
.../Schedule/Persistences/IJobPersistence.cs | 54 +
.../Schedule/Schedular.cs | 114 +
.../Schedule/Schedulers/IScheduler.cs | 278 ++
.../Schedule/Schedulers/Scheduler.Methods.cs | 644 +++
.../Schedule/Schedulers/Scheduler.cs | 73 +
.../Schedule/Schedulers/SchedulerModel.cs | 34 +
.../Schedule/Servers/IJobClusterServer.cs | 44 +
.../Schedule/Triggers/CronTrigger.cs | 70 +
.../Schedule/Triggers/PeriodTrigger.cs | 95 +
.../Schedule/Triggers/Trigger.Methods.cs | 657 +++
.../Schedule/Triggers/Trigger.cs | 199 +
.../Schedule/Triggers/TriggerOptions.cs | 46 +
.../Schedule/Triggers/TriggerTimeline.cs | 94 +
.../Schedule/Triggers/Triggers.cs | 332 ++
.../Assets/index-mini-profiler.html | 472 +++
.../SpecificationDocument/Assets/index.html | 470 +++
.../Attributes/EnumToNumberAttribute.cs | 42 +
.../Attributes/OperationIdAttribute.cs | 33 +
.../Attributes/SchemaIdAttribute.cs | 50 +
.../Builders/SpecificationDocumentBuilder.cs | 910 +++++
...ionDocumentApplicationBuilderExtensions.cs | 55 +
...tionDocumentServiceCollectionExtensions.cs | 93 +
.../Filters/AnySchemaFilter.cs | 39 +
.../Filters/ApiActionFilter.cs | 69 +
.../Filters/EnumSchemaFilter.cs | 99 +
.../Filters/TagsOrderDocumentFilter.cs | 43 +
.../Internal/GroupExtraInfo.cs | 34 +
.../Internal/SpecificationAuth.cs | 29 +
.../Internal/SpecificationLoginInfo.cs | 39 +
.../Internal/SpecificationOpenApiInfo.cs | 63 +
...ificationOpenApiSecurityRequirementItem.cs | 39 +
.../SpecificationOpenApiSecurityScheme.cs | 37 +
.../SpecificationDocumentSettingsOptions.cs | 197 +
.../Extensions/StringRenderExtensions.cs | 168 +
.../ThingsGateway.Furion/Templates/TP.cs | 171 +
.../ThingsGateway.Furion.csproj | 68 +
.../TimeCrontab/Constants/Constants.cs | 105 +
.../TimeCrontab/Constants/CronFieldKind.cs | 53 +
.../TimeCrontab/Constants/CronStringFormat.cs | 43 +
.../TimeCrontab/Crontab.Internal.cs | 671 +++
.../TimeCrontab/Crontab.Macro.cs | 59 +
.../TimeCrontab/Crontab.MacroAt.cs | 133 +
.../TimeCrontab/Crontab.cs | 227 +
.../Exceptions/TimeCrontabException.cs | 46 +
.../Extensions/DayOfWeekExtensions.cs | 59 +
.../TimeCrontab/Parsers/AnyParser.cs | 96 +
.../Parsers/BlankDayOfMonthOrWeekParser.cs | 107 +
.../Parsers/Dependencies/ICronParser.cs | 30 +
.../Parsers/Dependencies/ITimeParser.cs | 34 +
.../Parsers/LastDayOfMonthParser.cs | 61 +
.../Parsers/LastDayOfWeekInMonthParser.cs | 74 +
.../Parsers/LastWeekdayOfMonthParser.cs | 102 +
.../Parsers/NearestWeekdayParser.cs | 127 +
.../TimeCrontab/Parsers/RandomParser.cs | 105 +
.../TimeCrontab/Parsers/RangeParser.cs | 218 +
.../Parsers/SpecificDayOfWeekInMonthParser.cs | 123 +
.../TimeCrontab/Parsers/SpecificParser.cs | 121 +
.../TimeCrontab/Parsers/SpecificYearParser.cs | 44 +
.../TimeCrontab/Parsers/StepParser.cs | 199 +
.../Attributes/NonUnifyAttribute.cs | 20 +
.../Attributes/UnifyModelAttribute.cs | 33 +
.../Attributes/UnifyProviderAttribute.cs | 41 +
.../Attributes/UnifyResultAttribute.cs | 83 +
.../UnifySerializerSettingAttribute.cs | 33 +
.../UnifyResultMiddlewareExtensions.cs | 43 +
.../UnifyResultServiceCollectionExtensions.cs | 171 +
.../Filters/SucceededUnifyResultFilter.cs | 139 +
.../UnifyResult/Internal/RESTfulResult.cs | 50 +
.../UnifyResult/Internal/UnifyMetadata.cs | 33 +
.../UnifyResultStatusCodesMiddleware.cs | 103 +
.../Options/UnifyResultSettingsOptions.cs | 55 +
.../Providers/IUnifyResultProvider.cs | 66 +
.../Providers/RESTfulResultProvider.cs | 126 +
.../UnifyResult/UnifyContext.cs | 413 ++
.../Extensions/HttpContextExtensions.cs | 90 +
.../IApplicationBuilderExtensions.cs | 43 +
.../Formatters/TextPlainInputFormatter.cs | 107 +
.../Core/Attributes/AliasAsAttribute.cs | 30 +
.../Json/ExpandoObjectJsonConverter.cs | 293 ++
.../Core/Diagnostics/Debugging.cs | 251 ++
.../AsyncDispatchProxyGenerator.cs | 1262 ++++++
.../Core/DispatchProxy/DispatchProxyAsync.cs | 35 +
.../V5_Experience/Core/DispatchProxy/LICENSE | 21 +
.../Core/Extensions/AssemblyExtensions.cs | 94 +
.../ConcurrentDictionaryExtensions.cs | 65 +
.../CoreServiceCollectionExtensions.cs | 123 +
.../Extensions/DataTableAndSetExtensions.cs | 57 +
.../Core/Extensions/DelegateExtensions.cs | 168 +
.../Core/Extensions/EnumExtensions.cs | 60 +
.../Core/Extensions/EventHandlerExtensions.cs | 50 +
.../Core/Extensions/ICollectionExtensions.cs | 34 +
.../Core/Extensions/IDictionaryExtensions.cs | 235 ++
.../Core/Extensions/IEnumerableExtensions.cs | 60 +
.../Core/Extensions/JsonExtensions.cs | 236 ++
.../Extensions/LinqExpressionExtensions.cs | 98 +
.../Core/Extensions/MethodInfoExtensions.cs | 138 +
.../Core/Extensions/NumberExtensions.cs | 63 +
.../Core/Extensions/ObjectExtensions.cs | 330 ++
.../Core/Extensions/StringExtensions.cs | 353 ++
.../Core/Extensions/TypeExtensions.cs | 874 ++++
.../Extensions/Utf8JsonReaderExtensions.cs | 37 +
.../Core/Models/ComponentMetadata.cs | 51 +
.../V5_Experience/Core/Options/CoreOptions.cs | 88 +
.../Core/Reflection/ObjectPropertyGetter.cs | 136 +
.../Core/Reflection/ObjectPropertySetter.cs | 123 +
.../Core/Utilities/AliasAsUtility.cs | 96 +
.../Core/Utilities/FileUtility.cs | 179 +
.../Core/Utilities/JsonUtility.cs | 82 +
.../Core/Utilities/NetworkUtility.cs | 83 +
.../Core/Utilities/RuntimeUtility.cs | 54 +
.../Core/Utilities/StringUtility.cs | 117 +
.../Builders/HttpContextForwardBuilder.cs | 484 +++
.../Builders/HttpFileDownloadBuilder.cs | 339 ++
.../Builders/HttpFileUploadBuilder.cs | 383 ++
.../Builders/HttpLongPollingBuilder.cs | 281 ++
.../Builders/HttpMultipartFormDataBuilder.cs | 837 ++++
.../HttpRemote/Builders/HttpRemoteBuilder.cs | 353 ++
.../Builders/HttpRequestBuilder.Methods.cs | 1553 +++++++
.../Builders/HttpRequestBuilder.Properties.cs | 260 ++
.../HttpRequestBuilder.StaticMethods.cs | 596 +++
.../HttpRemote/Builders/HttpRequestBuilder.cs | 509 +++
.../Builders/HttpServerSentEventsBuilder.cs | 231 ++
.../Builders/HttpStressTestHarnessBuilder.cs | 151 +
.../HttpRemote/Builders/IHttpRemoteBuilder.cs | 68 +
.../HttpRemote/Constants/Constants.cs | 102 +
.../Constants/FileExistsBehavior.cs | 35 +
.../HttpRemote/Constants/FileSourceType.cs | 49 +
.../Converters/ByteArrayContentConverter.cs | 28 +
.../Converters/HttpContentConverterBase.cs | 40 +
.../HttpResponseMessageConverter.cs | 28 +
.../IActionResultContentConverter.cs | 178 +
.../Converters/IHttpContentConverter.cs | 90 +
.../Converters/ObjectContentConverter.cs | 61 +
.../Converters/StreamContentConverter.cs | 28 +
.../Converters/StringContentConverter.cs | 28 +
.../Converters/VoidContentConverter.cs | 27 +
.../Attributes/AcceptLanguageAttribute.cs | 30 +
.../Attributes/AutoSetHostHeaderAttribute.cs | 38 +
.../Attributes/BaseAddressAttribute.cs | 30 +
.../Declarative/Attributes/BodyAttribute.cs | 66 +
.../Declarative/Attributes/CookieAttribute.cs | 97 +
.../Attributes/DisableCacheAttribute.cs | 38 +
.../EnsureSuccessStatusCodeAttribute.cs | 38 +
.../Declarative/Attributes/HeaderAttribute.cs | 104 +
.../Attributes/HttpClientNameAttribute.cs | 30 +
.../Attributes/Methods/DeleteAttribute.cs | 28 +
.../Attributes/Methods/GetAttribute.cs | 28 +
.../Attributes/Methods/HeadAttribute.cs | 28 +
.../Attributes/Methods/HttpMethodAttribute.cs | 53 +
.../Attributes/Methods/OptionsAttribute.cs | 28 +
.../Attributes/Methods/PatchAttribute.cs | 28 +
.../Attributes/Methods/PostAttribute.cs | 28 +
.../Attributes/Methods/PutAttribute.cs | 28 +
.../Attributes/Methods/TraceAttribute.cs | 28 +
.../Attributes/MultipartAttribute.cs | 67 +
.../Attributes/MultipartFormAttribute.cs | 44 +
.../Declarative/Attributes/PathAttribute.cs | 43 +
.../PerformanceOptimizationAttribute.cs | 41 +
.../Attributes/ProfilerAttribute.cs | 38 +
.../Attributes/PropertyAttribute.cs | 87 +
.../Declarative/Attributes/QueryAttribute.cs | 114 +
.../Attributes/SimulateBrowserAttribute.cs | 24 +
.../Attributes/TimeoutAttribute.cs | 30 +
.../Attributes/TraceIdentifierAttribute.cs | 30 +
.../Builders/HttpDeclarativeBuilder.cs | 147 +
.../Declarative/DeclarativeManager.cs | 110 +
.../AcceptLanguageDeclarativeExtractor.cs | 31 +
.../AutoSetHostHeaderDeclarativeExtractor.cs | 31 +
.../BaseAddressDeclarativeExtractor.cs | 31 +
.../Extractors/BodyDeclarativeExtractor.cs | 74 +
.../Extractors/CookieDeclarativeExtractor.cs | 106 +
.../DisableCacheDeclarativeExtractor.cs | 31 +
...reSuccessStatusCodeDeclarativeExtractor.cs | 31 +
.../Extractors/HeaderDeclarativeExtractor.cs | 107 +
.../HttpClientNameDeclarativeExtractor.cs | 31 +
...partFormDataBuilderDeclarativeExtractor.cs | 43 +
.../HttpRequestBuilderDeclarativeExtractor.cs | 32 +
.../IFrozenHttpDeclarativeExtractor.cs | 23 +
.../Extractors/IHttpDeclarativeExtractor.cs | 29 +
.../MultipartDeclarativeExtractor.cs | 230 ++
.../Extractors/PathDeclarativeExtractor.cs | 62 +
...ormanceOptimizationDeclarativeExtractor.cs | 31 +
.../ProfilerDeclarativeExtractor.cs | 31 +
.../PropertyDeclarativeExtractor.cs | 99 +
.../Extractors/QueryDeclarativeExtractor.cs | 109 +
.../SimulateBrowserDeclarativeExtractor.cs | 31 +
.../Extractors/TimeoutDeclarativeExtractor.cs | 31 +
.../TraceIdentifierDeclarativeExtractor.cs | 31 +
.../ValidationDeclarativeExtractor.cs | 83 +
.../HttpDeclarativeDispatchProxy.cs | 34 +
.../HttpDeclarativeExtractorContext.cs | 126 +
.../Declarative/IHttpDeclarative.cs | 17 +
.../Delegates/ProfilerDelegatingHandler.cs | 266 ++
.../HttpContextExtensions.ForwardAs.cs | 1283 ++++++
.../Extensions/HttpContextExtensions.cs | 738 ++++
.../Extensions/HttpRemoteExtensions.cs | 200 +
.../HttpRemoteServiceCollectionExtensions.cs | 66 +
.../Factories/HttpContentConverterFactory.cs | 135 +
.../Factories/HttpContentProcessorFactory.cs | 95 +
.../Factories/IHttpContentConverterFactory.cs | 95 +
.../Factories/IHttpContentProcessorFactory.cs | 38 +
.../IObjectContentConverterFactory.cs | 36 +
.../ObjectContentConverterFactory.cs | 22 +
.../HttpRemote/Filters/ForwardAttribute.cs | 162 +
.../Handlers/IHttpFileTransferEventHandler.cs | 48 +
.../Handlers/IHttpLongPollingEventHandler.cs | 51 +
.../Handlers/IHttpRequestEventHandler.cs | 45 +
.../IHttpServerSentEventsEventHandler.cs | 42 +
.../HttpRemote/Helpers/Helpers.cs | 201 +
.../Managers/FileDownloadManager.cs | 562 +++
.../HttpRemote/Managers/FileUploadManager.cs | 320 ++
.../HttpRemote/Managers/LongPollingManager.cs | 452 ++
.../Managers/ServerSentEventsManager.cs | 506 +++
.../Managers/StressTestHarnessManager.cs | 207 +
.../HttpRemote/Models/DigestCredentials.cs | 230 ++
.../HttpRemote/Models/FileTransferProgress.cs | 155 +
.../HttpRemote/Models/FileTypeMapper.cs | 490 +++
.../HttpRemote/Models/HttpClientPooling.cs | 44 +
.../HttpRemote/Models/HttpRemoteResult.cs | 186 +
.../HttpRemote/Models/Logging.cs | 17 +
.../HttpRemote/Models/MultipartFile.cs | 177 +
.../Models/MultipartFormDataItem.cs | 58 +
.../HttpRemote/Models/ProgressFileStream.cs | 190 +
.../HttpRemote/Models/RateLimitedStream.cs | 228 ++
.../HttpRemote/Models/ServerSentEventsData.cs | 73 +
.../Models/StressTestHarnessResult.cs | 227 +
.../HttpRemote/Models/VoidContent.cs | 17 +
.../Options/HttpContextForwardOptions.cs | 75 +
.../HttpRemote/Options/HttpRemoteOptions.cs | 85 +
.../Processors/ByteArrayContentProcessor.cs | 51 +
.../FormUrlEncodedContentProcessor.cs | 53 +
.../Processors/HttpContentProcessorBase.cs | 64 +
.../Processors/IHttpContentProcessor.cs | 47 +
.../Processors/MessagePackContentProcessor.cs | 120 +
.../MultipartFormDataContentProcessor.cs | 40 +
.../ReadOnlyMemoryContentProcessor.cs | 51 +
.../Processors/StreamContentProcessor.cs | 49 +
...ontentForFormUrlEncodedContentProcessor.cs | 100 +
.../Processors/StringContentProcessor.cs | 66 +
.../Services/HttpRemoteService.Extensions.cs | 176 +
.../Services/HttpRemoteService.HttpMethods.cs | 968 +++++
.../HttpRemote/Services/HttpRemoteService.cs | 949 +++++
.../Services/IHttpRemoteService.Extensions.cs | 418 ++
.../IHttpRemoteService.HttpMethods.cs | 3062 ++++++++++++++
.../HttpRemote/Services/IHttpRemoteService.cs | 492 +++
.../HttpRemote/Utilities/HttpRemoteUtility.cs | 148 +
.../WebSocket/WebSocketBinaryReceiveResult.cs | 38 +
.../WebSocket/WebSocketClient.Events.cs | 128 +
.../HttpRemote/WebSocket/WebSocketClient.cs | 474 +++
.../WebSocket/WebSocketClientOptions.cs | 77 +
.../WebSocket/WebSocketTextReceiveResult.cs | 38 +
.../Contexts/CompositePolicyContext.cs | 39 +
.../Contexts/FallbackPolicyContext.cs | 34 +
.../Contexts/PolicyContextBase.cs | 23 +
.../Contexts/RetryPolicyContext.cs | 49 +
.../Contexts/TimeoutPolicyContext.cs | 26 +
.../Dependencies/IExceptionPolicy.cs | 115 +
.../RescuePolicy/Policies/CompositePolicy.cs | 230 ++
.../RescuePolicy/Policies/FallbackPolicy.cs | 418 ++
.../RescuePolicy/Policies/LockPolicy.cs | 101 +
.../RescuePolicy/Policies/PolicyBase.cs | 121 +
.../RescuePolicy/Policies/RetryPolicy.cs | 497 +++
.../RescuePolicy/Policies/TimeoutPolicy.cs | 201 +
.../V5_Experience/RescuePolicy/Policy.cs | 310 ++
.../Attributes/MinValueAttribute.cs | 46 +
.../Buffers/BufferSegment.cs | 108 +
.../Buffers/PooledByteBufferWriter.cs | 126 +
.../Buffers/SpanHelper.cs | 340 ++
.../Buffers/SpanReader.cs | 260 ++
.../ThingsGateway.NewLife.X/Caching/Cache.cs | 422 ++
.../Caching/CacheLock.cs | 86 +
.../Caching/CacheProvider.cs | 44 +
.../ThingsGateway.NewLife.X/Caching/ICache.cs | 234 ++
.../Caching/ICacheProvider.cs | 52 +
.../Caching/IProducerConsumer.cs | 46 +
.../Caching/MemoryCache.cs | 884 ++++
.../Collections/ConcurrentHashSet.cs | 42 +
.../Collections/IPool.cs | 143 +
.../Collections/NullableDictionary.cs | 40 +
.../Collections/ObjectPool.cs | 435 ++
.../Collections/Pool.cs | 154 +
.../Collections/QueueService.cs | 113 +
.../Common/ConvertUtility.cs | 954 +++++
.../Common/DisposeBase.cs | 159 +
.../Common/FileUtil.cs | 46 +
.../Common/Gen2GcCallback.cs | 72 +
.../ThingsGateway.NewLife.X/Common/Index.cs | 111 +
.../Common/MachineInfo.cs | 1193 ++++++
.../ThingsGateway.NewLife.X/Common/PinYin.cs | 655 +++
.../ThingsGateway.NewLife.X/Common/Range.cs | 84 +
.../ThingsGateway.NewLife.X/Common/Runtime.cs | 265 ++
.../Common/TimeProvider.cs | 69 +
.../Configuration/CommandParser.cs | 118 +
.../Configuration/Config.cs | 110 +
.../Configuration/ConfigAttribute.cs | 25 +
.../Configuration/ConfigHelper.cs | 366 ++
.../Configuration/FileConfigProvider.cs | 209 +
.../Configuration/GetConfigCallback.cs | 6 +
.../Configuration/IConfigMapping.cs | 14 +
.../Configuration/IConfigProvider.cs | 387 ++
.../Configuration/IConfigSection.cs | 59 +
.../Configuration/IniConfigProvider.cs | 106 +
.../Configuration/XmlConfigProvider.cs | 196 +
.../Event/EventArgs.cs | 135 +
.../Event/WeakAction.cs | 140 +
.../Exceptions/XException.cs | 71 +
.../Extension/BitHelper.cs | 86 +
.../ByteArrayToNumberArrayConverter.cs | 57 +
.../ConcurrentDictionaryExtensions.cs | 45 +
.../Extension/ConcurrentQueueExtensions.cs | 39 +
.../Extension/DateExtensions.cs | 172 +
.../Extension/EndPointExtensions.cs | 62 +
.../Extension/EnumHelper.cs | 111 +
.../Extension/JsonExtensions.cs | 66 +
.../Extension/LinqExtensions.cs | 74 +
.../Extension/ListExtension.cs | 27 +
.../Extension/PathExtensions.cs | 47 +
.../Extension/ProcessHelper.cs | 527 +++
.../Extension/SpeakProvider.cs | 92 +
.../Extension/StringHelper.cs | 986 +++++
.../Extension/TextWriterExtensions.cs | 94 +
.../ThingsGateway.NewLife.X/GlobalUsings.cs | 11 +
.../ThingsGateway.NewLife.X/IO/CsvFile.cs | 272 ++
.../IO/EncodingHelper.cs | 369 ++
.../ThingsGateway.NewLife.X/IO/ExcelReader.cs | 290 ++
.../ThingsGateway.NewLife.X/IO/FileSource.cs | 137 +
.../ThingsGateway.NewLife.X/IO/IOHelper.cs | 1080 +++++
.../ThingsGateway.NewLife.X/IO/PathHelper.cs | 550 +++
.../Logger/ActionLog.cs | 22 +
.../Logger/CompositeLog.cs | 106 +
.../Logger/ConsoleLog.cs | 60 +
.../ThingsGateway.NewLife.X/Logger/ILog.cs | 47 +
.../Logger/ILogFeature.cs | 18 +
.../Logger/LevelLog.cs | 30 +
.../Logger/LogEventListener.cs | 94 +
.../Logger/LogLevel.cs | 28 +
.../ThingsGateway.NewLife.X/Logger/Logger.cs | 267 ++
.../ThingsGateway.NewLife.X/Logger/Readme.md | 2 +
.../Logger/TextFileLog.cs | 371 ++
.../Logger/TimeCost.cs | 76 +
.../Logger/TraceStream.cs | 445 ++
.../Logger/WriteLogEventArgs.cs | 138 +
.../ThingsGateway.NewLife.X/Logger/XTrace.cs | 354 ++
.../Net/IDnsResolver.cs | 97 +
.../Net/IIPResolver.cs | 12 +
.../ThingsGateway.NewLife.X/Net/NetHelper.cs | 657 +++
.../ThingsGateway.NewLife.X/Net/NetUri.cs | 283 ++
.../Net/TcpConnectionInformation2.cs | 374 ++
src/Admin/ThingsGateway.NewLife.X/README.md | 5 +
.../ThingsGateway.NewLife.X/README.zh-CN.md | 5 +
.../Reflection/AssemblyX.cs | 833 ++++
.../Reflection/AttributeX.cs | 132 +
.../Reflection/DynamicInternal.cs | 72 +
.../Reflection/DynamicXml.cs | 79 +
.../Reflection/IIndexAccessor.cs | 15 +
.../Reflection/IReflect.cs | 880 ++++
.../Reflection/Reflect.cs | 577 +++
.../Reflection/ScriptEngine.cs | 536 +++
.../Security/AlgorithmKeyBlob.cs | 26 +
.../ThingsGateway.NewLife.X/Security/Asn1.cs | 319 ++
.../Security/Asn1Tags.cs | 87 +
.../Security/CbcTransform.cs | 133 +
.../Security/Certificate.cs | 368 ++
.../ThingsGateway.NewLife.X/Security/Crc16.cs | 233 ++
.../ThingsGateway.NewLife.X/Security/Crc32.cs | 214 +
.../Security/DSAHelper.cs | 106 +
.../Security/IPasswordProvider.cs | 155 +
.../Security/Murmur128.cs | 159 +
.../Security/PKCS7PaddingTransform.cs | 182 +
.../Security/ProtectedKey.cs | 130 +
.../ThingsGateway.NewLife.X/Security/RC4.cs | 65 +
.../Security/RSAHelper.cs | 321 ++
.../ThingsGateway.NewLife.X/Security/Rand.cs | 234 ++
.../ThingsGateway.NewLife.X/Security/SM4.cs | 320 ++
.../Security/SecurityHelper.cs | 309 ++
.../Security/ZerosPaddingTransform.cs | 88 +
.../Serialization/Binary/Binary.cs | 584 +++
.../Serialization/Binary/BinaryColor.cs | 48 +
.../Serialization/Binary/BinaryComposite.cs | 253 ++
.../Serialization/Binary/BinaryDictionary.cs | 83 +
.../Serialization/Binary/BinaryFont.cs | 60 +
.../Serialization/Binary/BinaryGeneral.cs | 674 +++
.../Serialization/Binary/BinaryList.cs | 83 +
.../Serialization/Binary/BinaryNormal.cs | 169 +
.../Binary/FieldSizeAttribute.cs | 164 +
.../Serialization/Binary/IBinary.cs | 64 +
.../Serialization/DataMemberResolver.cs | 59 +
.../Interface/AccessorAttribute.cs | 20 +
.../Interface/AccessorContext.cs | 22 +
.../Interface/FixedStringAttribute.cs | 49 +
.../Interface/FullStringAttribute.cs | 50 +
.../Serialization/Interface/IAccessor.cs | 34 +
.../Serialization/Interface/IFormatterX.cs | 169 +
.../Interface/IMemberAccessor.cs | 16 +
.../Serialization/LocalTimeConverter.cs | 49 +
.../Serialization/SerialHelper.cs | 87 +
.../Serialization/TypeConverter.cs | 31 +
.../Serialization/Xml/IXml.cs | 62 +
.../Serialization/Xml/Xml.cs | 346 ++
.../Serialization/Xml/XmlComposite.cs | 173 +
.../Serialization/Xml/XmlGeneral.cs | 253 ++
.../Serialization/Xml/XmlList.cs | 108 +
.../Serialization/Xml/XmlParser.cs | 98 +
src/Admin/ThingsGateway.NewLife.X/Setting.cs | 60 +
.../Stub/IsExternalInit.cs | 11 +
.../Stub/MaybeNullAttribute.cs | 9 +
.../Stub/MaybeNullWhenAttribute.cs | 15 +
.../Stub/MemberNotNullAttribute.cs | 19 +
.../Stub/MemberNotNullWhenAttribute.cs | 32 +
.../Stub/NotNullAttribute.cs | 9 +
.../Stub/NotNullIfNotNullAttribute.cs | 15 +
.../Stub/NotNullWhenAttribute.cs | 15 +
.../Stub/ScriptIgnoreAttribute.cs | 5 +
.../ThingsGateway.NewLife.X.csproj | 55 +
.../ThingsGateway.NewLife.X/Threading/Cron.cs | 355 ++
.../Threading/ITimer.cs | 13 +
.../Threading/TaskEx.cs | 11 +
.../Threading/ThreadPoolX.cs | 75 +
.../Threading/TimerScheduler.cs | 363 ++
.../Threading/TimerX.cs | 443 ++
src/Admin/ThingsGateway.NewLife.X/Web/Link.cs | 340 ++
.../ThingsGateway.NewLife.X/Web/TokenModel.cs | 23 +
.../Web/TokenProvider.cs | 97 +
.../ThingsGateway.NewLife.X/Web/UriInfo.cs | 139 +
.../Windows/ConsoleHelper.cs | 84 +
.../Windows/ControlHelper.cs | 557 +++
.../Windows/PowerStatus.cs | 109 +
.../Xml/SerializableDictionary.cs | 97 +
.../ThingsGateway.NewLife.X/Xml/XmlConfig.cs | 373 ++
.../Xml/XmlConfigFileAttribute.cs | 25 +
.../ThingsGateway.NewLife.X/Xml/XmlHelper.cs | 327 ++
.../Photino/PhotinoBlazorApp.cs | 0
.../Photino/PhotinoBlazorAppBuilder.cs | 1 +
.../Photino/PhotinoBlazorAppConfiguration.cs | 0
.../Photino/PhotinoDispatcher.cs | 0
.../Photino/PhotinoHttpHandler.cs | 0
.../Photino/PhotinoSyncrhronizationContext.cs | 0
.../Photino/PhotinoWebViewManager.cs | 0
.../Photino/PhotinoWindowRootComponents.cs | 4 +-
.../Photino/ServiceCollectionExtensions.cs | 0
.../Photino/Utils/SynchronousTaskScheduler.cs | 0
.../ThingsGateway.Photino.Blazor.csproj | 22 +
.../ThingsGateway.Razor/BaseLayout.razor | 11 +
.../ThingsGateway.Razor/BaseLayout.razor.cs | 18 +
.../ThingsGateway.Razor/BaseLayout.razor.css | 1 +
.../Common/ConcurrentList.cs | 675 +++
.../Common/EncodingMapper.cs | 2 +-
.../Common/IDriverUIBase.cs | 30 +
.../Common/ImportPreviewOutput.cs | 46 +
.../Common/ModelValueValidateForm.cs | 17 +
.../Common/RandomHelper.cs | 169 +
.../Components/About.razor | 23 +
.../Components/About.razor.cs | 23 +
.../Base/WebSiteModuleComponentBase.cs | 22 +
.../Components/BlazorReconnector.razor | 79 +
.../Components/BlazorReconnector.razor.cs | 84 +
.../Components/CultureChooser.razor | 12 +
.../Components/CultureChooser.razor.cs | 106 +
.../Components/DefaultTable.razor | 36 +
.../Components/DefaultTable.razor.cs | 365 ++
.../Components/EditComponent.razor | 15 +
.../Components/EditComponent.razor.cs | 35 +
.../Components/EditComponent.razor.css | 3 +
.../EditorForm/EditorFormObject.razor | 84 +
.../EditorForm/EditorFormObject.razor.cs | 300 ++
.../EditorForm/EditorFormObject.razor.css | 16 +
.../Components/FAIconList.razor | 3636 +++++++++++++++++
.../Components/FAIconList.razor.cs | 115 +
.../Components/FAIconList.razor.css | 47 +
.../Components/FAIconList.razor.js | 115 +
.../Components/GlobalSearch.razor | 5 +
.../Components/GlobalSearch.razor.cs | 67 +
.../Components/GlobalSearch.razor.css | 5 +
.../Components/ImportExcel.razor | 56 +
.../Components/ImportExcel.razor.cs | 90 +
.../Components/ImportExcel.razor.css | 9 +
.../ThingsGateway.Razor/Components/Logo.razor | 2 +
.../Components/Logo.razor.cs | 19 +
.../Components/Logo.razor.css | 1 +
.../Components/MenuIconList.razor | 10 +
.../Components/MenuIconList.razor.cs | 36 +
.../Components/MenuIconList.razor.css | 29 +
.../Components/SelectItemChooser.razor | 9 +
.../Components/SelectItemChooser.razor.cs | 61 +
.../Components/SelectItemChooser.razor.css | 2 +
.../ThingsGateway.Razor/Const/WebsiteConst.cs | 28 +
.../ThingsGateway.Razor/Data/BasePageInput.cs | 37 +
.../Data/IBasePageInput.cs | 37 +
.../Data/IPrimaryIdEntity.cs | 22 +
.../ThingsGateway.Razor/Data/MessageItem.cs | 22 +
.../Data/SqlSugarPagedList.cs | 54 +
.../Extensions/DisplayExtensions.cs | 22 +
.../Extensions/GenericExtensions.cs | 161 +
.../Extensions/JSRuntimeExtensions.cs | 33 +
.../Extensions/LocalizerExtensions.cs | 342 ++
.../Extensions/ObjectExtensions.cs | 619 +++
.../Extensions/ParallelExtensions.cs | 92 +
.../Extensions/StringExtensions.cs | 197 +
.../Extensions/ToastServiceExtensions.cs | 36 +
.../ThingsGateway.Razor/Locales/en-US.json | 73 +
.../ThingsGateway.Razor/Locales/zh-CN.json | 73 +
.../Options/MenuOptions.cs | 21 +
.../Options/WebsiteOptions.cs | 61 +
.../Services/DefaultMenuService.cs | 28 +
.../Services/IAppVersionService.cs | 22 +
.../Services/IMenuService.cs | 21 +
.../Services/VersionService.cs | 32 +
src/Admin/ThingsGateway.Razor/Startup.cs | 54 +
.../ThingsGateway.Razor.csproj | 36 +
.../UnifyResult/UnifyResult.cs | 38 +
.../ThingsGateway.Razor/Util/LocalizerUtil.cs | 74 +
src/Admin/ThingsGateway.Razor/_Imports.razor | 19 +
.../ThingsGateway.Razor/_Imports.razor.cs | 23 +
.../ThingsGateway.Razor/wwwroot/css/site.css | 214 +
.../ThingsGateway.Razor/wwwroot/favicon.ico | Bin 0 -> 4286 bytes
.../ThingsGateway.Razor/wwwroot/favicon.png | Bin 0 -> 10516 bytes
.../wwwroot/images/401.png | Bin 0 -> 9187 bytes
.../wwwroot/images/404.png | Bin 0 -> 13829 bytes
.../wwwroot/images/500.png | Bin 0 -> 9020 bytes
.../wwwroot/images/defaultUser.svg | 33 +
.../wwwroot/images/empty.svg | 1 +
.../ThingsGateway.Razor/wwwroot/images/en.svg | 5 +
.../wwwroot/images/gitee.png | Bin 0 -> 1093 bytes
.../wwwroot/images/login-left.svg | 1 +
.../wwwroot/images/quickactions.svg | 5 +
.../ThingsGateway.Razor/wwwroot/images/zh.svg | 7 +
.../ThingsGateway.Razor/wwwroot/js/culture.js | 9 +
.../wwwroot/js/downloadFile.js | 108 +
.../ThingsGateway.Razor/wwwroot/js/theme.js | 3 +
src/Directory.Build.props | 12 +-
src/Foundation.props | 9 +-
.../CSharpScriptEngineExtension.cs | 49 +-
.../ExpressionEvaluatorExtension.cs | 46 +-
.../ThingsGateway.CSScript.csproj | 33 +-
...Component.razor => ChannelComponent.razor} | 14 +-
.../DebugPages/ChannelComponent.razor.cs | 102 +
.../ChannelDataDebugComponent.razor.cs | 144 -
.../DebugPages/ChannelOptionsDefault.cs | 19 +
.../DebugPages/ConverterConfigComponent.razor | 33 +
.../ConverterConfigComponent.razor.cs | 36 +
...gComponent.razor => DeviceComponent.razor} | 34 +-
...nent.razor.cs => DeviceComponent.razor.cs} | 35 +-
...terDebugBase.cs => DeviceComponentBase.cs} | 31 +-
.../DebugPages/LogConsole.razor | 43 +-
.../DebugPages/LogConsole.razor.cs | 56 +-
.../Locales/en-US.json | 62 +-
.../Locales/zh-CN.json | 38 +-
.../Locales/zh-TW.json | 67 -
.../Services/PlatformService.cs | 7 +-
.../ThingsGateway.Foundation.Razor.csproj | 33 +-
.../_Imports.razor.cs | 1 -
.../ThingsGateway.Foundation.Variable.csproj | 36 +-
.../VariableObject.cs | 22 +-
.../Attributes/UriValidationAttribute.cs | 60 +
.../Channel/ChannelData.cs | 135 -
.../Channel/ChannelOptions.cs | 47 +
.../Channel/ChannelOptionsBase.cs | 142 +
...ensions.cs => ChannelOptionsExtensions.cs} | 95 +-
.../Channel/IChannel.cs | 54 +-
.../Channel/IChannelOptions.cs | 97 +
.../Channel/IClientChannel.cs | 10 +-
.../Channel/OtherChannel.cs | 214 +
.../Channel/Plugin/DtuPlugin.cs | 25 +-
.../Plugin/HeartbeatAndReceivePlugin.cs | 53 +-
.../Channel/Plugin/IDtu.cs | 6 +-
.../Channel/Plugin/IDtuClient.cs | 12 +-
.../Channel/Plugin/PluginUtil.cs | 25 +-
.../Channel/SerialPortChannel.cs | 96 +-
.../Channel/TcpClientChannel.cs | 88 +-
.../Channel/TcpServiceChannel.cs | 127 +-
.../Channel/TcpSessionClientChannel.cs | 53 +-
.../Channel/UdpSessionChannel.cs | 111 +-
.../Common/IncrementCount.cs | 94 +-
.../Common/TimeTick.cs | 63 +-
.../Common/WaitLock.cs | 55 +-
.../{Trans => Converter}/EncodingConverter.cs | 0
...erFormatter.cs => JsonToClassConverter.cs} | 15 +-
.../Converter/StringConverter.cs | 2 +-
.../Converter/StringToEncodingConverter.cs | 60 -
.../Converter/ThingsGatewayStringConverter.cs | 2 +-
.../DeviceSingleStreamDataHandleAdapter.cs | 209 +
...apter.cs => DeviceUdpDataHandleAdapter.cs} | 23 +-
.../ProtocolSingleStreamDataHandleAdapter.cs | 196 -
.../ProtocolBase.cs => Device/DeviceBase.cs} | 489 ++-
.../Device/DeviceExtension.cs | 155 +
.../IProtocol.cs => Device/IDevice.cs} | 82 +-
.../ErrorTypeEnum.cs} | 14 +-
.../Extensions/ExpandoObjectExtensions.cs | 1 -
.../Extensions/LoggerExtensions.cs | 11 +-
.../Locales/en-US.json | 32 +-
.../Locales/zh-CN.json | 33 +-
.../Locales/zh-TW.json | 55 -
.../Logger/TextFileLogger.cs | 27 +-
.../Logger/TextFileReader.cs | 249 +-
.../OperResult/IOperResult.cs | 2 +-
.../OperResult/OperResult.cs | 190 +-
.../OperResult/OperResultClass.cs | 156 +
.../Protocol/ProtocolBaseExtension.cs | 91 -
.../ProtocolWaitDataStatusExtension.cs | 39 -
.../Protocol/StructContentPraseExtensions.cs | 56 -
.../ThingsGateway.Foundation.csproj | 37 +-
.../Trans/ConverterConfig.cs | 138 +
.../Trans/IThingsGatewayBitConverter.cs | 13 +-
.../Trans/ThingsGatewayBitConverter.cs | 18 -
.../ThingsGatewayBitConverterExtension.cs | 89 +-
.../Utils/JTokenUtil.cs | 2 +
.../Variable/IVariable.cs | 5 +
.../Variable/VariableClass.cs | 7 +-
.../Variable/VariableSourceClass.cs | 8 +-
src/FoundationVersion.props | 9 -
.../Attributes/DynamicMethodAttribute.cs | 2 +-
.../Attributes/DynamicPropertyAttribute.cs | 13 +-
.../Common/AsyncReadWriteLock.cs | 67 +
.../Common/DoTask.cs | 137 +-
.../Common/ExportFilter.cs | 23 +
.../Dto => Common}/InternalTableColumn.cs | 2 +-
...StringOrdinalIgnoreCaseEqualityComparer.cs | 27 +
.../Controller/ConfigInfoController.cs | 74 -
.../Controller/ControlController.cs | 109 +-
.../Controller/GatewayExportController.cs | 114 +-
.../Controller/RuntimeInfoController.cs | 113 +-
.../Business/BusinessBase.cs | 84 +-
.../Business/BusinessPropertyBase.cs | 3 -
.../Cache/BusinessBaseWithCacheAlarmModel.cs | 0
.../Cache/BusinessBaseWithCacheDeviceModel.cs | 0
.../BusinessBaseWithCacheVariableModel.cs | 3 +-
.../Cache/BusinessPropertyWithCache.cs | 0
...BusinessBaseWithCacheIntervalAlarmModel.cs | 110 +-
...usinessBaseWithCacheIntervalDeviceModel.cs | 105 +-
.../BusinessBaseWithCacheIntervalScript.cs | 6 +-
...inessBaseWithCacheIntervalVariableModel.cs | 80 +-
.../BusinessPropertyWithCacheInterval.cs | 7 -
...sinessPropertyWithCacheIntervalDBScript.cs | 0
...BusinessPropertyWithCacheIntervalScript.cs | 0
.../Business/Cache/TopicArray.cs | 0
.../Business/Cache/TopicJson.cs | 0
.../Business/DB/BusinessDatabaseUtil.cs | 44 +-
.../Business/DB/DBHistoryAlarmPageInput.cs | 1 -
.../Business/DB/DBHistoryValuePageInput.cs | 2 -
.../Business/DB/IDBHistoryAlarm.cs | 0
.../Business/DB/IDBHistoryAlarmService.cs | 0
.../Business/DB/IDBHistoryValue.cs | 0
.../Business/DB/IDBHistoryValueService.cs | 0
.../Business/VariablePropertyBase.cs | 0
.../{Plugin => Driver}/CacheDB/CacheDB.cs | 0
.../{Plugin => Driver}/CacheDB/CacheDBItem.cs | 2 -
.../CacheDB/CacheDBOption.cs | 0
.../{Plugin => Driver}/CacheDB/CacheDBUtil.cs | 15 +-
.../{Plugin => Driver}/Collect/CollectBase.cs | 221 +-
.../Collect/CollectPropertyBase.cs | 9 +-
.../Driver/DriverBase.cs | 521 +++
.../{Plugin => Driver}/DriverPropertyBase.cs | 2 -
.../DynamicModelExtension.cs | 17 +-
.../Driver/IDriver.cs | 48 +
.../Entity/Channel.cs | 149 +-
.../Entity/Device.cs | 72 +-
.../Entity/IEqualityOperators.cs | 16 +
.../Entity/Variable.cs | 30 +-
.../BusinessUpdateEnum.cs} | 6 +-
.../Enums/RedundantSwitchTypeEnum.cs | 27 +
.../Extensions/ResourceExtensions.cs | 88 -
.../Extensions/VariableMethodExtensions.cs | 45 +
.../GlobalData/GlobalData.cs | 394 +-
.../Device/BusinessDeviceHostedService.cs | 375 --
.../Device/CollectDeviceHostedService.cs | 505 ---
.../HostService/Device/DeviceHostedService.cs | 410 --
.../Device/IDeviceHostedService.cs | 66 -
.../Job/{LogJob => }/LogJob.cs | 23 +-
.../Locales/en-US.json | 224 +-
.../Locales/zh-CN.json | 219 +-
.../Locales/zh-TW.json | 465 ---
.../Model/AlarmVariable.cs | 12 +-
.../Model/ChannelRuntime.cs | 140 +
.../Model/CollectDeviceRunTime.cs | 62 -
.../Model/DeviceData.cs | 25 +-
.../Model/DeviceRunTime.cs | 171 +-
.../PluginOutput.cs => Model/PluginInfo.cs} | 24 +-
.../Model/VariableData.cs | 35 +-
.../Model/VariableMethod.cs | 24 +-
.../Model/VariableRunTime.cs | 129 +-
.../Model/VariableSourceRead.cs | 22 +-
.../Options/ChannelThreadOptions.cs | 22 +
.../Options/GatewayLogOptions.cs | 22 +
.../Options/RpcLogOptions.cs | 18 +
.../Plugin/ChannelThread.cs | 692 ----
.../Plugin/DriverBase.cs | 437 --
.../Plugin/DriverBaseExtension.cs | 113 -
.../Gateway/seed_gateway_resource.json | 1768 +-------
.../SeedData/SysResourceSeedData.cs | 3 +-
.../Services/Channel/ChannelRuntimeService.cs | 183 +
.../Services/Channel/ChannelService.cs | 248 +-
.../Channel/IChannelRuntimeService.cs | 47 +
.../Services/Channel/IChannelService.cs | 44 +-
.../Services/Device/DeviceRuntimeService.cs | 236 ++
.../Services/Device/DeviceService.cs | 393 +-
.../Services/Device/Dto/DeviceInput.cs | 27 -
.../Services/Device/IDeviceRuntimeService.cs | 27 +
.../Services/Device/IDeviceService.cs | 56 +-
.../GatewayExport/GatewayExportService.cs | 24 +-
.../GatewayExport/IGatewayExportService.cs | 8 +-
.../AlarmManage}/AlarmHostedService.cs | 194 +-
.../AlarmManage}/IAlarmHostedService.cs | 12 +-
.../ChannelManage/ChannelThreadManage.cs | 195 +
.../ChannelManage/IChannelThreadManage.cs | 24 +
.../DeviceManage/DeviceThreadManage.cs | 853 ++++
.../DeviceManage/IDeviceThreadManage.cs | 31 +
.../GatewayMonitorHostedService.cs | 95 +
.../IGatewayMonitorHostedService.cs | 17 +
.../IGatewayRedundantSerivce.cs | 28 +
.../Services/Plugin/IPluginService.cs | 17 +-
.../Services/Plugin/PluginService.cs | 208 +-
.../Services/Plugin/PluginServiceUtil.cs | 92 +-
.../Services/Rpc/RpcService.cs | 155 +-
.../Services/Variable/Dto/VariableInput.cs | 68 -
.../Variable/IVariableRuntimeService.cs | 36 +
.../Services/Variable/IVariableService.cs | 36 +-
.../Variable/VariableRuntimeService.cs | 482 +++
.../Services/Variable/VariableService.cs | 316 +-
.../Startup.cs | 31 +-
.../ThingsGateway.Gateway.Application.csproj | 30 +-
.../Components/QuickActions.razor | 19 +-
.../Components/QuickActions.razor.cs | 46 +-
.../Components/QuickActions.razor.css | 4 +-
.../Components/QuickActions.razor.js | 16 +
.../ThingsGatewayModuleComponentBase.cs | 2 +-
.../Locales/en-US.json | 151 +-
.../Locales/zh-CN.json | 137 +-
.../Locales/zh-TW.json | 122 -
.../Config/Channel/ChannelEditComponent.razor | 115 -
.../Channel/ChannelEditComponent.razor.css | 4 -
.../Pages/Config/Channel/ChannelPage.razor | 63 -
.../Pages/Config/Channel/ChannelPage.razor.cs | 221 -
...PropertyWithCacheIntervalScriptRazor.razor | 64 -
.../Config/Device/DeviceEditComponent.razor | 275 --
.../Device/DeviceEditComponent.razor.cs | 165 -
.../Device/DeviceEditComponent.razor.css | 4 -
.../Pages/Config/Device/DevicePage.razor | 118 -
.../Pages/Config/Device/DevicePage.razor.cs | 338 --
.../Variable/VariableEditComponent.razor | 317 --
.../Variable/VariableEditComponent.razor.cs | 148 -
.../Variable/VariableEditComponent.razor.css | 4 -
.../Pages/Config/Variable/VariablePage.razor | 112 -
.../Channel/ChannelEditComponent.razor | 110 +
.../Channel/ChannelEditComponent.razor.cs | 20 +-
.../Channel/ChannelEditComponent.razor.css} | 22 +-
.../Channel/ChannelRuntimeInfo.razor | 17 +
.../Channel/ChannelRuntimeInfo.razor.cs} | 8 +-
.../Channel/ChannelRuntimeInfo.razor.css} | 0
.../Channel/ChannelRuntimeInfo1.razor | 109 +
.../Channel/ChannelRuntimeInfo1.razor.cs} | 43 +-
.../Channel/ChannelRuntimeInfo1.razor.css | 44 +
.../ChannelDeviceTree.razor | 70 +
.../ChannelDeviceTree.razor.cs | 1161 ++++++
.../ChannelDeviceTree.razor.css | 16 +
.../ChannelDeviceTreeItem.cs | 152 +
.../Device/DeviceEditComponent.razor | 140 +
.../Device/DeviceEditComponent.razor.cs | 159 +
.../Device/DeviceEditComponent.razor.css | 30 +
.../Device/DeviceRuntimeInfo.razor | 17 +
.../Device/DeviceRuntimeInfo.razor.cs} | 8 +-
.../Device/DeviceRuntimeInfo.razor.css} | 0
.../Device/DeviceRuntimeInfo1.razor | 144 +
.../Device/DeviceRuntimeInfo1.razor.cs | 112 +
.../Device/DeviceRuntimeInfo1.razor.css} | 11 +-
.../Device/PropertyComponent.razor | 63 +
.../Device/PropertyComponent.razor.cs} | 17 +-
.../Device/ScriptCheck.razor | 0
.../Device/ScriptCheck.razor.cs | 2 +-
.../GatewayMonitorPage.razor | 39 +
.../GatewayMonitorPage.razor.cs | 90 +
.../Pages/GatewayMonitorPage/ShowTypeEnum.cs | 17 +
.../Variable/VariableEditComponent.razor | 236 ++
.../Variable/VariableEditComponent.razor.cs | 208 +
.../Variable/VariableEditComponent.razor.css | 30 +
.../Variable/VariableRuntimeInfo.razor | 153 +
.../Variable/VariableRuntimeInfo.razor.cs} | 306 +-
.../{_Log => LogPage}/BackendLogPage.razor | 3 +-
.../{_Log => LogPage}/BackendLogPage.razor.cs | 0
.../Pages/{_Log => LogPage}/RpcLogPage.razor | 3 +-
.../{_Log => LogPage}/RpcLogPage.razor.cs | 0
.../PluginDebugPage.razor} | 6 +-
.../PluginDebugPage.razor.cs} | 46 +-
.../PluginPage/PluginDebugPage.razor.css | 19 +
.../Plugin => PluginPage}/PluginPage.razor | 10 +-
.../Plugin => PluginPage}/PluginPage.razor.cs | 10 +-
.../Plugin => PluginPage}/SavePlugin.razor | 0
.../Plugin => PluginPage}/SavePlugin.razor.cs | 2 +-
.../RealAlarmPage.razor | 15 +-
.../RealAlarmPage.razor.cs} | 27 +-
.../Runtime/DeviceStatus/DeviceStatus.razor | 54 -
.../DeviceStatus/DeviceStatus.razor.cs | 76 -
.../Runtime/DeviceStatus/DeviceStatus1.razor | 33 -
.../Runtime/DeviceStatus/DeviceStatus2.razor | 112 -
.../DeviceStatus/DeviceStatus2.razor.cs | 56 -
.../Runtime/DeviceStatus/DeviceStatus3.razor | 53 -
.../DeviceStatus/DeviceStatus3.razor.cs | 49 -
.../DeviceStatus/DeviceStatusPage.razor | 24 -
.../DeviceStatus/DeviceStatusPage.razor.cs | 118 -
.../Pages/Runtime/RealAlarmPage.razor.cs | 40 -
.../Pages/Runtime/VariableRuntimePage.razor | 140 -
.../Runtime/VariableRuntimePage.razor.cs | 196 -
.../TcpServicePage/TcpServicePage.razor.cs | 8 +-
.../ThingsGateway.Gateway.Razor.csproj | 43 +-
.../Util/ResourceUtil.cs | 264 ++
src/Plugin.sln | 256 ++
.../Configuration/App.json | 39 +
.../Configuration/BootstrapBlazor.json | 33 +
.../Configuration/Logging.json | 48 +
.../Configuration/Menu.json | 41 +
.../Configuration/MenuPro.json | 101 +
.../Configuration/Website.json | 13 +
.../GlobalUsings.cs | 11 +
.../Locales/en-US.json | 7 +
.../Locales/zh-CN.json | 6 +
.../MainLayout.razor | 74 +
.../MainLayout.razor.cs | 69 +
.../MainLayout.razor.css | 152 +
.../ThingsGateway.Debug.Photino/Program.cs | 98 +
.../Properties/launchSettings.json | 11 +
.../ThingsGateway.Debug.Photino/Routes.razor | 18 +
.../SingleFilePublish.cs | 48 +
.../ThingsGateway.Debug.Photino.csproj | 69 +
.../appsettings.Development.json | 6 +
.../appsettings.json | 6 +
.../ThingsGateway.Debug.Photino/favicon.ico | Bin 0 -> 4286 bytes
.../wwwroot/favicon.ico | Bin 0 -> 4286 bytes
.../wwwroot/favicon.png | Bin 0 -> 10516 bytes
.../wwwroot/index.html | 5 +-
.../Pages/Index.razor | 42 +
.../Pages/Index.razor.css | 13 +
.../ThingsGateway.Debug.Razor/Startup.cs | 28 +
.../ThingsGateway.Debug.Razor.csproj | 51 +
.../ThingsGateway.Debug.Razor/_Imports.razor | 14 +
.../_Imports.razor.cs | 14 +
.../Dlt645/Core/Dlt645_2007Message.cs | 145 +
.../Dlt645/Core/Dlt645_2007Send.cs | 185 +
.../Dlt645/Dlt645_2007Master.cs | 421 ++
.../Dlt645/Helper/ControlCode.cs | 62 +
.../Dlt645/Helper/Dlt645Helper.cs | 1150 ++++++
.../Dlt645/Helper/Dlt645_2007Address.cs | 115 +
.../Dlt645/Helper/Dlt645_2007BitConverter.cs | 138 +
.../Dlt645/Helper/PackHelper.cs | 54 +
.../Locales/DltResource.cs | 30 +
.../Locales/en-US.json | 45 +
.../Locales/zh-CN.json | 47 +
.../ThingsGateway.Foundation.Dlt645.csproj | 24 +
.../docs/645MeterV2.7.1.zip | Bin 0 -> 1676195 bytes
...功能电能表通信协议(100107_zjg_整理版).doc | Bin 0 -> 5860527 bytes
.../GlobalUsings.cs | 11 +
.../Helper/ModbusAddress.cs | 170 +
.../Helper/ModbusHelper.cs | 47 +
.../Helper/ModbusRequest.cs | 52 +
.../Helper/ModbusResponse.cs | 22 +
.../Helper/ModbusTypeEnum.cs | 27 +
.../Helper/PackHelper.cs | 209 +
.../Locales/ModbusResource.cs | 30 +
.../Locales/en-US.json | 62 +
.../Locales/zh-CN.json | 63 +
.../Master/Core/ModbusRtuMessage.cs | 162 +
.../Master/Core/ModbusRtuSend.cs | 75 +
.../Master/Core/ModbusTcpMessage.cs | 102 +
.../Master/Core/ModbusTcpSend.cs | 92 +
.../Master/ModbusMaster.cs | 270 ++
.../Slave/Core/ModbusRtuSlaveMessage.cs | 105 +
.../Slave/Core/ModbusTcpSlaveMessage.cs | 93 +
.../Slave/ModbusSlave.cs | 621 +++
.../ThingsGateway.Foundation.Modbus.csproj | 22 +
.../COM/Comn/ComInterop.cs | 373 ++
.../COM/Comn/Convert.cs | 82 +
.../COM/Da/OpcEventArgs.cs | 58 +
.../COM/Da/OpcGroup.cs | 462 +++
.../COM/Da/OpcItem.cs | 86 +
.../COM/Da/OpcServer.cs | 264 ++
.../COM/Da/ServerInfo.cs | 49 +
.../COM/Discovery/OpcDiscovery.cs | 245 ++
.../COM/Rcw/BrowseElement.cs | 102 +
.../COM/Rcw/Common.cs | 333 ++
.../COM/Rcw/DataAccess.cs | 1502 +++++++
.../COM/Rcw/Interop.cs | 1010 +++++
.../COM/Rcw/ItemProperty.cs | 971 +++++
.../GlobalUsings.cs | 14 +
.../Locales/en-US.json | 27 +
.../Locales/zh-CN.json | 27 +
.../OpcDaMaster/OpcDaMaster.cs | 474 +++
.../OpcDaMaster/OpcDaProperty.cs | 61 +
.../ThingsGateway.Foundation.OpcDa.csproj | 20 +
.../ThingsGateway.Foundation.OpcDa.xml | 8 +
.../Utils/CollectionExtension.cs | 47 +
.../Utils/DictionaryExtension.cs | 106 +
.../GlobalUsings.cs | 16 +
.../Locales/en-US.json | 37 +
.../Locales/zh-CN.json | 36 +
.../OpcUaMaster/OPCUAStatusEventArgs.cs | 37 +
.../OpcUaMaster/OpcUaMaster.cs | 1234 ++++++
.../OpcUaMaster/OpcUaProperty.cs | 80 +
.../ThingsGateway.Foundation.OpcUa.csproj | 26 +
.../ThingsGateway.Foundation.OpcUa.xml | 8 +
.../Utils/CollectionExtension.cs | 64 +
.../Utils/DictionaryExtension.cs | 106 +
.../Utils/JsonEncoder.cs | 2137 ++++++++++
.../Utils/JsonUtils.cs | 530 +++
.../Utils/OpcUaUtils.cs | 1153 ++++++
.../Locales/SiemensS7Resource.cs | 30 +
.../Locales/en-US.json | 47 +
.../Locales/zh-CN.json | 47 +
.../S7/Core/S7BitConverter.cs | 41 +
.../S7/Core/S7Message.cs | 170 +
.../S7/Core/S7Send.cs | 213 +
.../S7/Core/SiemensS7Address.cs | 286 ++
.../S7/Helper/PackHelper.cs | 285 ++
.../S7/Helper/S7Area.cs | 41 +
.../S7/Helper/S7DateTime.cs | 165 +
.../S7/Helper/S7WordLength.cs | 47 +
.../S7/Helper/SiemensHelper.cs | 129 +
.../S7/Helper/SiemensHelper.other.cs | 148 +
.../S7/Helper/SiemensTypeEnum.cs | 35 +
.../S7/SiemensS7Master.cs | 536 +++
.../S7/返回码.txt | 15 +
.../S7/错误代码.txt | 825 ++++
.../ThingsGateway.Foundation.SiemensS7.csproj | 22 +
.../Dlt645Test.cs | 55 +
.../ModbusTest.cs | 115 +
.../SiemensS7Test.cs | 65 +
.../TestAdapterHelper.cs | 96 +
.../ThingsGateway.Foundation.Test.csproj | 34 +
.../Common/Dto/SqlDBPageInput.cs | 45 +
.../Common/Dynamic/IDynamicSQL.cs | 17 +
.../Common/Dynamic/TestHisSQL.cs | 59 +
.../Common/Dynamic/TestRealSQL.cs | 63 +
.../Common/RealDBProducerProperty.cs | 38 +
.../Common/RealDBProducerPropertyRazor.razor | 38 +
.../RealDBProducerPropertyRazor.razor.cs | 41 +
.../Directory.build.targets | 15 +
.../ThingsGateway.Plugin.DB/GlobalUsings.cs | 16 +
.../Locales/en-US.json | 115 +
.../Locales/zh-CN.json | 114 +
.../QuestDB/Entity/QuestDBHistoryValue.cs | 60 +
.../QuestDB/QuestDBProducer.cs | 176 +
.../QuestDB/QuestDBProducer.other.cs | 94 +
.../QuestDBProducerVariableProperty.cs | 15 +
.../QuestDB/Razor/QuestDBPage.razor | 38 +
.../QuestDB/Razor/QuestDBPage.razor.cs | 33 +
.../ThingsGateway.Plugin.DB/SqlDB/DbType.cs | 12 +
.../SqlDB/Entity/SQLHistoryValue.cs | 63 +
.../SqlDB/Entity/SQLRealValue.cs | 59 +
.../SqlDB/Razor/SqlDBPage.razor | 68 +
.../SqlDB/Razor/SqlDBPage.razor.cs | 41 +
.../Razor/SqlDBProducerPropertyRazor.razor | 43 +
.../Razor/SqlDBProducerPropertyRazor.razor.cs | 44 +
.../SplitTable/SqlDBBusinessDatabaseUtil.cs | 66 +
.../SplitTable/SqlDBDateSplitTableService.cs | 233 ++
.../SqlDB/SqlDBProducer.cs | 260 ++
.../SqlDB/SqlDBProducerProperty.cs | 62 +
.../SqlDB/SqlDBProducerVariableProperty.cs | 18 +
.../SqlDB/SqlDbProducer.other.cs | 167 +
.../Dto/HisAlarmDayStatisticsOutput.cs | 29 +
.../Dto/HistoryAlarmPageInput.cs | 60 +
.../SqlHistoryAlarm/Entity/HistoryAlarm.cs | 18 +
.../Razor/HistoryAlarmPage.razor | 45 +
.../Razor/HistoryAlarmPage.razor.cs | 35 +
.../SqlHistoryAlarm/SqlHistoryAlarm.cs | 158 +
.../SqlHistoryAlarm/SqlHistoryAlarm.other.cs | 78 +
.../SqlHistoryAlarmProperty.cs | 36 +
.../SqlHistoryAlarmVariableProperty.cs | 18 +
.../TDengineDB/TDengineDBHistoryValue.cs | 45 +
.../TDengineDB/TDengineDBPage.razor | 46 +
.../TDengineDB/TDengineDBPage.razor.cs | 33 +
.../TDengineDB/TDengineDBProducer.cs | 166 +
.../TDengineDB/TDengineDBProducer.other.cs | 95 +
.../TDengineDBProducerVariableProperty.cs | 15 +
.../ThingsGateway.Plugin.DB.csproj | 21 +
.../ThingsGateway.Plugin.DB/_Imports.razor | 16 +
.../Directory.build.targets | 15 +
.../Dlt645_2007/Dlt645_2007Master.cs | 73 +
.../Dlt645_2007/Dlt645_2007MasterProperty.cs | 80 +
.../GlobalUsings.cs | 14 +
.../Locales/en-US.json | 22 +
.../Locales/zh-CN.json | 23 +
.../Pages/Dlt645_2007AddressComponent.razor | 28 +
.../Dlt645_2007AddressComponent.razor.cs | 62 +
.../Pages/Dlt645_2007Master.razor | 42 +
.../Pages/Dlt645_2007Master.razor.cs | 77 +
.../ThingsGateway.Plugin.Dlt645.csproj | 24 +
.../_Imports.razor | 12 +
.../Directory.build.targets | 27 +
.../GlobalUsings.cs | 16 +
.../Kafka/KafkaProducer.cs | 87 +
.../Kafka/KafkaProducer.other.cs | 200 +
.../Kafka/KafkaProducerProperty.cs | 54 +
.../Kafka/KafkaProducerVariableProperty.cs | 18 +
.../Locales/en-US.json | 28 +
.../Locales/zh-CN.json | 30 +
.../ThingsGateway.Plugin.Kafka.csproj | 25 +
.../Directory.build.targets | 15 +
.../GlobalUsings.cs | 14 +
.../Locales/en-US.json | 54 +
.../Locales/zh-CN.json | 55 +
.../ModbusMaster/ModbusMaster.cs | 72 +
.../ModbusMaster/ModbusMasterProperty.cs | 78 +
.../ModbusSlave/ModbusSlave.cs | 244 ++
.../ModbusSlave/ModbusSlaveProperty.cs | 75 +
.../ModbusSlaveVariableProperty.cs | 40 +
.../Pages/ModbusAddressComponent.razor | 32 +
.../Pages/ModbusAddressComponent.razor.cs | 62 +
.../Pages/ModbusMaster.razor | 41 +
.../Pages/ModbusMaster.razor.cs | 78 +
.../Pages/ModbusSlave.razor | 46 +
.../Pages/ModbusSlave.razor.cs | 74 +
.../ThingsGateway.Plugin.Modbus.csproj | 24 +
.../_Imports.razor | 15 +
.../Directory.build.targets | 36 +
.../ThingsGateway.Plugin.Mqtt/GlobalUsings.cs | 16 +
.../Locales/en-US.json | 93 +
.../Locales/zh-CN.json | 100 +
.../MqttClient/MqttClient.cs | 164 +
.../MqttClient/MqttClient.other.cs | 467 +++
.../MqttClient/MqttClientProperty.cs | 89 +
.../MqttClient/MqttClientVariableProperty.cs | 23 +
.../MqttCollect/MqttCollect.cs | 264 ++
.../MqttCollect/MqttCollect.other.cs | 220 +
.../MqttCollect/MqttCollectProperty.cs | 74 +
.../MqttRpcClientTopicGenerationStrategy.cs | 40 +
.../MqttNetRpcClass/ThingsBoardRpcData.cs | 46 +
.../MqttServer/MqttServer.cs | 112 +
.../MqttServer/MqttServer.other.cs | 335 ++
.../MqttServer/MqttServerProperty.cs | 60 +
.../MqttServer/MqttServerStartup.cs | 66 +
.../ThingsGateway.Plugin.Mqtt.csproj | 48 +
.../Directory.build.targets | 15 +
.../GlobalUsings.cs | 14 +
.../Locales/en-US.json | 14 +
.../Locales/zh-CN.json | 14 +
.../OpcDaMaster/OpcDaMaster.cs | 270 ++
.../OpcDaMaster/OpcDaMasterProperty.cs | 68 +
.../Pages/OpcDaImportVariable.razor | 58 +
.../Pages/OpcDaImportVariable.razor.cs | 384 ++
.../Pages/OpcDaMaster.razor | 102 +
.../Pages/OpcDaMaster.razor.cs | 189 +
.../ThingsGateway.Plugin.OpcDa.csproj | 28 +
.../ThingsGateway.Plugin.OpcDa/_Imports.razor | 12 +
.../Directory.build.targets | 42 +
.../GlobalUsings.cs | 14 +
.../Locales/en-US.json | 38 +
.../Locales/zh-CN.json | 39 +
.../OpcUaMaster/OpcUaMaster.cs | 359 ++
.../OpcUaMaster/OpcUaMasterProperty.cs | 98 +
.../OpcUaServer/Core/ApplicationMessageDlg.cs | 37 +
.../OpcUaServer/Core/OpcUaLogger.cs | 65 +
.../OpcUaServer/Core/OpcUaTag.cs | 27 +
.../Core/ThingsGatewayNodeManager.cs | 477 +++
.../OpcUaServer/Core/ThingsGatewayServer.cs | 328 ++
.../OpcUaServer/OpcUaServer.cs | 391 ++
.../OpcUaServer/OpcUaServerProperty.cs | 56 +
.../OpcUaServerVariableProperty.cs | 23 +
.../Pages/OpcUaImportVariable.razor | 59 +
.../Pages/OpcUaImportVariable.razor.cs | 429 ++
.../Pages/OpcUaMaster.razor | 111 +
.../Pages/OpcUaMaster.razor.cs | 214 +
.../Pages/OpcUaMasterPropertyRazor.razor | 25 +
.../Pages/OpcUaMasterPropertyRazor.razor.cs | 79 +
.../ThingsGateway.Plugin.OpcUa.csproj | 57 +
.../ThingsGateway.Plugin.OpcUa/_Imports.razor | 12 +
.../Directory.build.targets | 39 +
.../GlobalUsings.cs | 16 +
.../Locales/en-US.json | 29 +
.../Locales/zh-CN.json | 30 +
.../RabbitMQ/RabbitMQProducer.cs | 100 +
.../RabbitMQ/RabbitMQProducer.other.cs | 193 +
.../RabbitMQ/RabbitMQProducerProperty.cs | 71 +
.../RabbitMQProducerVariableProperty.cs | 18 +
.../ThingsGateway.Plugin.RabbitMQ.csproj | 36 +
.../Directory.build.targets | 15 +
.../GlobalUsings.cs | 14 +
.../Locales/en-US.json | 20 +
.../Locales/zh-CN.json | 20 +
.../Pages/SiemensS7AddressComponent.razor | 28 +
.../Pages/SiemensS7AddressComponent.razor.cs | 62 +
.../Pages/SiemensS7Master.razor | 41 +
.../Pages/SiemensS7Master.razor.cs | 78 +
.../SiemensS7Master/SiemensS7Master.cs | 219 +
.../SiemensS7MasterProperty.cs | 69 +
.../ThingsGateway.Plugin.SiemensS7.csproj | 23 +
.../_Imports.razor | 11 +
src/PluginBase.sln | 142 -
src/ThingsGateway.Photino/Program.cs | 12 +-
src/ThingsGateway.Photino/Routes.razor | 14 +-
...BlazorHybridAuthenticationStateProvider.cs | 4 +-
.../BlazorHybridAuthorizationHandler.cs | 2 +-
.../Services/HybridAppService.cs | 4 +-
.../Services/HybridAuthRazorService.cs | 3 +-
.../Services/HybridGatewayExportService.cs | 45 +-
src/ThingsGateway.Photino/Startup.cs | 8 +-
.../ThingsGateway.Photino.csproj | 111 +-
src/ThingsGateway.Photino/wwwroot/index.html | 3 -
.../.config/dotnet-tools.json | 2 +-
.../Configuration/AdminLog.json | 5 +
.../Configuration/App.json | 1 -
.../Configuration/BootstrapBlazor.json | 10 +-
.../Configuration/ChannelThread.json | 4 +-
.../Configuration/GatewayLog.json | 6 +
.../Configuration/HardwareInfo.json | 2 +-
.../Configuration/RpcLog.json | 5 +
.../Configuration/Swagger.json | 1 +
.../Configuration/Tenant.json | 6 +
.../Configuration/UpgradeServer.json | 2 +-
.../Index/GatewayIndex.razor | 2 +-
.../Index/GatewayIndex.razor.cs | 5 +-
.../Index/GatewayIndexComponent.razor | 10 +-
.../Index/GatewayIndexComponent.razor.cs | 16 +-
.../Layout/AccessDenied.razor | 8 +-
.../Layout/AccessDenied.razor.cs | 6 +-
.../Layout/BlazorApp.razor | 8 +-
src/ThingsGateway.Server/Layout/Login.razor | 11 +-
.../Layout/Login.razor.cs | 9 +-
.../Layout/Login.razor.css | 5 +
.../Layout/MainLayout.razor | 145 +-
.../Layout/MainLayout.razor.cs | 85 +-
.../Layout/MainLayout.razor.css | 3 +-
.../Layout/NotFound404.razor | 6 +-
.../Layout/NotFound404.razor.cs | 2 +-
src/ThingsGateway.Server/Layout/Routes.razor | 14 +-
src/ThingsGateway.Server/Locales/en-US.json | 12 +-
src/ThingsGateway.Server/Locales/zh-CN.json | 12 +-
src/ThingsGateway.Server/Locales/zh-TW.json | 495 ---
src/ThingsGateway.Server/Pages/_Host.cshtml | 7 +-
src/ThingsGateway.Server/Program/Program.cs | 23 +-
.../Program/SingleFilePublish.cs | 1 -
src/ThingsGateway.Server/Program/Startup.cs | 5 +-
.../Program/TestCollectPlugin.cs | 18 +-
.../ThingsGateway.Server.csproj | 101 +-
.../targets/Admin.targets | 4 +-
.../targets/Gateway.targets | 4 +-
.../targets/Plugin.targets | 71 +-
.../targets/PluginContext.targets | 49 +-
.../targets/PluginDebug.targets | 16 +
...Publish1.targets => PluginPublish.targets} | 0
.../targets/{Custom.targets => Pro1.targets} | 0
.../{CustomPlugin.targets => Pro2.targets} | 57 +-
.../{OtherPlugin.targets => Pro3.targets} | 9 +-
.../{OtherPlugin1.targets => Pro4.targets} | 5 +-
.../targets/ProPluginDebug.targets | 35 +
.../MainForm.Designer.cs | 51 -
src/ThingsGateway.Winform/MainForm.cs | 116 -
src/ThingsGateway.Winform/MainForm.resx | 197 -
.../ThingsGateway.Winform.csproj | 118 -
src/ThingsGateway.sln | 223 +-
src/ThingsGatewayRelease.sln | 15 +
src/Version.props | 2 +-
1799 files changed, 195453 insertions(+), 14820 deletions(-)
create mode 100644 .gitattributes
delete mode 100644 .gitmodules
delete mode 160000 Admin
delete mode 100644 git_pull.bat
create mode 100644 src/Admin/README.md
create mode 100644 src/Admin/README.zh-CN.md
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Aop/OperDescAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Attributes/IgnoreExcelAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Attributes/IgnoreRolePermissionAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Attributes/IgnoreSeedDataAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Attributes/SuperAdminAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Const/CacheConst.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Const/ClaimConst.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Const/ResourceConst.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Const/RoleConst.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Const/SqlSugarConst.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Controller/AuthController.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Controller/CultureController.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Controller/FileController.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Controller/OpenApiController.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Controller/TestController.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Entity/BaseEntity.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Entity/SysDict.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Entity/SysOperateLog.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Entity/SysOrg.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Entity/SysPosition.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Entity/SysRelation.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Entity/SysResource.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Entity/SysRole.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Entity/SysUser.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Entity/VerificatInfo.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Enum/DataScopeEnum.cs
rename src/{Foundation/ThingsGateway.Foundation/Channel/IAdapterObject.cs => Admin/ThingsGateway.Admin.Application/Enum/DictTypeEnum.cs} (73%)
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Enum/LogCateGoryEnum.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Enum/OrgEnum.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Enum/PositionCategoryEnum.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Enum/RelationCategoryEnum.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Enum/ResourceCategoryEnum.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Enum/RoleCategoryEnum.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Enum/TargetEnum.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Extensions/ApplicationBuilderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Extensions/CacheExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Extensions/ExportExcelExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Extensions/FileExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Extensions/QueryPageOptionsExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Extensions/SqlSugarExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/FodyWeavers.xml
create mode 100644 src/Admin/ThingsGateway.Admin.Application/GlobalUsings.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Job/Hardware/HardwareInfo.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Job/Hardware/HardwareJob.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Job/Hardware/HistoryHardwareInfo.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Job/Hardware/IHardwareJob.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Job/JobPersistence.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Job/LogJob/LogJob.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Locales/en-US.json
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Locales/zh-CN.json
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Logging/DatabaseLoggingWriter.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Logging/LoggingConst.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Logging/LoggingMonitorJson.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Options/AdminLogOptions.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Options/EmailOptions.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Options/HardwareInfoOptions.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Options/TenantOptions.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Provider/BlazorAuthenticationStateProvider.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Provider/UnifyResultProvider.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SeedData/Admin/seed_sys_dict.json
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SeedData/Admin/seed_sys_relation.json
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SeedData/Admin/seed_sys_resource.json
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SeedData/Admin/seed_sys_resourcebutton.json
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SeedData/SysDictSeedData.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SeedData/SysOrgSeedData.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SeedData/SysPositionSeedData.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SeedData/SysRelationSeedData.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SeedData/SysResourceSeedData.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SeedData/SysRoleSeedData.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SeedData/SysUserSeedData.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/ApiPermission/ApiPermissionService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/ApiPermission/IApiPermissionService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/AppService/AppService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/AppService/IAppService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Auth/AuthRazorService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Auth/AuthService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Auth/Dto/AuthInput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Auth/Dto/AuthOutput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Auth/IAuthRazorService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Auth/IAuthService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Dict/Dto/AppConfig.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Dict/Dto/LoginPolicy.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Dict/Dto/PagePolicy.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Dict/Dto/PasswordPolicy.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Dict/Dto/WebsitePolicy.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Dict/ISysDictService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Dict/SysDictService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Event/EventService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Event/IEventService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/File/FileService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/File/IFileService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/ImportExport/IImportExportService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/ImportExport/ImportExportService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/MessageService/Dto/AppMessage.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/MessageService/Dto/NavigationUri.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/MessageService/Dto/UserLoginOut.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/MessageService/Email/EmailService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/MessageService/Email/IEmailService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/MessageService/Notice/INoticeService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/MessageService/Notice/NoticeService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/OperateLog/Dto/OperateLogInput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/OperateLog/Dto/OperateLogOutput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/OperateLog/ISysOperateLogService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/OperateLog/SysOperateLogService.cs
rename src/{Gateway/ThingsGateway.Gateway.Application/HostService/Device/IBusinessDeviceHostedService.cs => Admin/ThingsGateway.Admin.Application/Services/Org/Dto/OrgInput.cs} (57%)
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Org/ISysOrgService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Org/SysOrgService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Pos/Dto/PositionInput.cs
rename src/{Gateway/ThingsGateway.Gateway.Application/HostService/Device/ICollectDeviceHostedService.cs => Admin/ThingsGateway.Admin.Application/Services/Pos/Dto/PositionOutput.cs} (50%)
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Pos/ISysPositionService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Pos/SysPositionService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Relation/IRelationService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Relation/RelationService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Resource/Dto/ResourceInput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Resource/Dto/ResourceOutput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Resource/ISysResourceService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Resource/SysResourceService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Role/Dto/RoleInput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Role/Dto/RoleOutput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Role/ISysRoleService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Role/SysRoleService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Session/Dto/SessionInput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Session/Dto/SessionOutput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Session/ISessionService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/Session/SessionService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/SugarAopService/ISugarAopService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/SugarAopService/SugarAopService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/SugarService/BaseService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/User/Dto/UserInput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/User/Dto/UserOutput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/User/ISysUserService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/User/SysUserService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/UserCenter/Dto/UserCenterInput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/UserCenter/Dto/UserCenterOutput.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/UserCenter/IUserCenterService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/UserCenter/UserCenterService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/VerificatInfo/IVerificatInfoService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Services/VerificatInfo/VerificatInfoService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SqlSugar/CodeFirstUtils.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SqlSugar/DbContext.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SqlSugar/ISqlSugarEntitySeedData.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SqlSugar/SeedDataUtil.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/SqlSugar/SqlSugarOptions.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Startup.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Static/UserManager.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/ThingsGateway.Admin.Application.csproj
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Util/ClearTokenUtil.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Util/CommonUtils.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Util/ImportExportUtil.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Util/NoticeUtil.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Util/OpenApiUtil.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Util/OrgUtil.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Util/PositionUtil.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Util/RoleUtil.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Application/Util/UserUtil.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/AdminTable.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/AdminTable.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/ChoiceModuleComponent.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/ChoiceModuleComponent.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/ChoiceModuleComponent.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/ChoiceTable.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/ChoiceTable.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/ComponentDefault.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/LoginConnectionHub.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/LoginConnectionHub.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/UserLogin.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Components/UserLogin.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Const/AdminOperConst.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Context/BlazorAppContext.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Locales/en-US.json
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Locales/zh-CN.json
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/AppConfig/AppConfigPage.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/AppConfig/AppConfigPage.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/AppConfig/AppConfigPage.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/AppConfig/EditPagePolicy.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/AppConfig/EditPagePolicy.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Dict/SysDictPage.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Dict/SysDictPage.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Dict/SysDictSortCodeEdit.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Dict/SysDictSortCodeEdit.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/HardwareInfoPage.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/HardwareInfoPage.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/HardwareInfoPage.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/LogPage/OperLogPage.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/LogPage/OperLogPage.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Org/OrgTree.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Org/OrgTree.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Org/OrgTree.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Org/SysOrgCopy.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Org/SysOrgCopy.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Org/SysOrgEdit.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Org/SysOrgEdit.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Org/SysOrgPage.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Org/SysOrgPage.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Position/PositionTree.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Position/PositionTree.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Position/PositionTree.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Position/SysPositionEdit.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Position/SysPositionEdit.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Position/SysPositionPage.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Position/SysPositionPage.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Resource/MenuChoice.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Resource/MenuChoice.razor.cs
rename src/{Gateway/ThingsGateway.Gateway.Application/SeedData/Gateway/seed_gateway_resourcebutton.json => Admin/ThingsGateway.Admin.Razor/Pages/Resource/MenuChoice.razor.css} (100%)
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Resource/MenuChoiceDialog.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Resource/MenuChoiceDialog.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Resource/MenuChoiceDialog.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Resource/SysResourceEdit.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Resource/SysResourceEdit.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Resource/SysResourcePage.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Resource/SysResourcePage.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Role/RoleTree.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Role/RoleTree.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Role/RoleTree.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Role/SysRoleEdit.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Role/SysRoleEdit.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Role/SysRolePage.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Role/SysRolePage.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Session/SessionPage.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Session/SessionPage.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Session/VerificatListDialog.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/Session/VerificatListDialog.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/GrantApiDialog.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/GrantApiDialog.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/GrantApiDialog.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/GrantResourceDialog.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/GrantResourceDialog.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/GrantResourceDialog.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/RoleChoiceDialog.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/RoleChoiceDialog.razor.cs
rename src/{Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/DeviceStatus/DeviceStatusPage.razor.css => Admin/ThingsGateway.Admin.Razor/Pages/User/RoleChoiceDialog.razor.css} (100%)
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/SysUserAvatarEdit.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/SysUserAvatarEdit.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/SysUserEdit.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/SysUserEdit.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/SysUserPage.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/SysUserPage.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/SysUserPage.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/UserChoice.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/UserChoice.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/UserChoice.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/UserChoiceDialog.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/UserChoiceDialog.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/User/UserChoiceDialog.razor.css
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/UserCenter/UserCenterPage.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/UserCenter/UserCenterPage.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/UserCenter/UserInfoEditComponent.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/UserCenter/UserInfoEditComponent.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/UserCenter/UserPassowrdEditComponent.razor
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Pages/UserCenter/UserPassowrdEditComponent.razor.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Services/MenuService.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Startup.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/ThingsGateway.Admin.Razor.csproj
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/Util/ResourceUtil.cs
create mode 100644 src/Admin/ThingsGateway.Admin.Razor/_Imports.razor
rename src/{ThingsGateway.Winform/GlobalUsings.cs => Admin/ThingsGateway.Admin.Razor/_Imports.razor.cs} (73%)
rename src/{ThingsGateway.Server/Configuration/LogJob.json => Admin/ThingsGateway.AdminServer/Configuration/AdminLog.json} (79%)
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/App.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/BootstrapBlazor.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/Database.Development.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/Database.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/Email.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/HardwareInfo.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/JWT.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/Logging.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/Memu.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/Swagger.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/Tenant.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Configuration/Website.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Dockerfile
create mode 100644 src/Admin/ThingsGateway.AdminServer/Dockerfile_arm64
create mode 100644 src/Admin/ThingsGateway.AdminServer/Index/AdminIndex.razor
create mode 100644 src/Admin/ThingsGateway.AdminServer/Index/AdminIndex.razor.cs
create mode 100644 src/Admin/ThingsGateway.AdminServer/Layout/AccessDenied.razor
create mode 100644 src/Admin/ThingsGateway.AdminServer/Layout/AccessDenied.razor.cs
create mode 100644 src/Admin/ThingsGateway.AdminServer/Layout/BlazorApp.razor
create mode 100644 src/Admin/ThingsGateway.AdminServer/Layout/Login.razor
create mode 100644 src/Admin/ThingsGateway.AdminServer/Layout/Login.razor.cs
create mode 100644 src/Admin/ThingsGateway.AdminServer/Layout/Login.razor.css
create mode 100644 src/Admin/ThingsGateway.AdminServer/Layout/MainLayout.razor
create mode 100644 src/Admin/ThingsGateway.AdminServer/Layout/MainLayout.razor.cs
create mode 100644 src/Admin/ThingsGateway.AdminServer/Layout/MainLayout.razor.css
create mode 100644 src/Admin/ThingsGateway.AdminServer/Layout/NotFound404.razor
create mode 100644 src/Admin/ThingsGateway.AdminServer/Layout/NotFound404.razor.cs
rename src/{ThingsGateway.Winform => Admin/ThingsGateway.AdminServer/Layout}/Routes.razor (80%)
create mode 100644 src/Admin/ThingsGateway.AdminServer/Locales/en-US.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Locales/zh-CN.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/Pages/_Host.cshtml
rename src/{ThingsGateway.Winform => Admin/ThingsGateway.AdminServer/Program}/Program.cs (68%)
create mode 100644 src/Admin/ThingsGateway.AdminServer/Program/SingleFilePublish.cs
create mode 100644 src/Admin/ThingsGateway.AdminServer/Program/Startup.cs
create mode 100644 src/Admin/ThingsGateway.AdminServer/Properties/launchSettings.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/ThingsGateway.AdminServer.csproj
create mode 100644 src/Admin/ThingsGateway.AdminServer/WindowsServiceCreate.bat
create mode 100644 src/Admin/ThingsGateway.AdminServer/WindowsServiceDelete.bat
create mode 100644 src/Admin/ThingsGateway.AdminServer/appsettings.Development.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/appsettings.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/pm2-linux.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/pm2-windows.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/thingsgateway.service
rename src/{ThingsGateway.Winform => Admin/ThingsGateway.AdminServer/wwwroot}/favicon.ico (100%)
create mode 100644 src/Admin/ThingsGateway.AdminServer/wwwroot/favicon.png
create mode 100644 src/Admin/ThingsGateway.AdminServer/wwwroot/manifest.json
create mode 100644 src/Admin/ThingsGateway.AdminServer/wwwroot/service-worker.js
create mode 100644 src/Admin/ThingsGateway.AdminServer/wwwroot/service-worker.published.js
create mode 100644 src/Admin/ThingsGateway.Furion/App/App.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Attributes/AppStartupAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Extensions/AppApplicationBuilderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Extensions/AppServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Extensions/AppWebApplicationBuilderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Extensions/HostBuilderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Extensions/IConfigurationExtenstions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Extensions/IServiceScopeExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Extensions/ObjectExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Extensions/Options/AddInjectOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Extensions/Options/InjectOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Extensions/Options/UseInjectOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Filters/StartupFilter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Internal/InternalApp.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Native.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Options/AppSettingsOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Options/GenericRunOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Options/IRunOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Options/LegacyRunOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Options/RunOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Serve.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/ServeComponent.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/SingleFile/ISingleFilePublish.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Startups/AppStartup.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Startups/FakeStartup.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Startups/GenericHostLifetimeEventsHostedService.cs
create mode 100644 src/Admin/ThingsGateway.Furion/App/Startups/HostingStartup.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/Extensions/AspNetCoreBuilderServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/Extensions/HttpContextExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/Extensions/IHostExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/Extensions/ModelBindingContextExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/ModelBinders/Attributes/FlexibleArrayAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/ModelBinders/Attributes/FromConvertAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/ModelBinders/Binders/FlexibleArrayModelBinder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/ModelBinders/Binders/FromConvertBinder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/ModelBinders/Binders/FromConvertBinderProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/ModelBinders/Binders/TimestampToDateTimeModelBinder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/ModelBinders/Converts/DateTimeModelConvertBinder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/ModelBinders/Converts/DateTimeOffsetModelConvertBinder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/AspNetCore/ModelBinders/Converts/IModelConvertBinder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Authorization/Attributes/AppAuthorizeAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Authorization/Attributes/SecurityDefineAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Authorization/Extensions/AuthorizationHandlerContextExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Authorization/Extensions/AuthorizationServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Authorization/Handlers/AppAuthorizeHandler.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Authorization/Internal/Penetrates.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Authorization/Providers/AppAuthorizationPolicyProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Authorization/Requirements/AppAuthorizeRequirement.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Components/Attributes/DependsOnAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Components/Contexts/ComponentContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Components/Dependencies/IComponent.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Components/Extensions/ComponentApplicationBuilderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Components/Extensions/ComponentServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Components/IApplicationComponent.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Components/IServiceComponent.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Components/IWebComponent.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Components/Internal/Penetrates.cs
create mode 100644 src/Admin/ThingsGateway.Furion/ConfigurableOptions/Attributes/MapSettingsAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/ConfigurableOptions/Attributes/OptionsSettingsAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/ConfigurableOptions/Extensions/ConfigurableOptionsServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/ConfigurableOptions/Internal/Penetrates.cs
create mode 100644 src/Admin/ThingsGateway.Furion/ConfigurableOptions/Options/IConfigurableOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Configuration/Constants/Constants.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Configuration/Extensions/IConfigurationBuilderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Configuration/Extensions/IConfigurationExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/CorsAccessor/Extensions/CorsAccessorApplicationBuilderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/CorsAccessor/Extensions/CorsAccessorServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/CorsAccessor/Internal/Penetrates.cs
create mode 100644 src/Admin/ThingsGateway.Furion/CorsAccessor/Options/CorsAccessorSettingsOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataEncryption/Encryptions/AESEncryption.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataEncryption/Encryptions/DESEncryption.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataEncryption/Encryptions/KSortEncryption.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataEncryption/Encryptions/MD5Encryption.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataEncryption/Encryptions/PBKDF2Encryption.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataEncryption/Encryptions/RSAEncryption.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataEncryption/Encryptions/SHA1Encryption.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataEncryption/Extensions/StringEncryptionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Attributes/DataValidationAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Attributes/NonValidationAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Attributes/ValidationItemMetadataAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Attributes/ValidationMessageAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Attributes/ValidationMessageTypeAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Attributes/ValidationTypeAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Enums/ValidationPattern.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Enums/ValidationTypes.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Extensions/DataValidationExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Extensions/DataValidationServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Extensions/Options/DataValidationOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Filters/DataValidationFilter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Filters/DataValidationPageFilter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Internal/DataValidationResult.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Internal/ValidationMetadata.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Options/ValidationTypeMessageSettingsOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Providers/IValidationMessageTypeProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/ValidatorContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DataValidation/Validators/DataValidator.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Attributes/InjectionAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Attributes/SuppressProxyAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Attributes/SuppressSnifferAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Dependencies/IPrivateDependency.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Dependencies/IScoped.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Dependencies/ISingleton.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Dependencies/ITransient.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Enums/InjectionActions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Enums/InjectionPatterns.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Enums/RegisterType.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Extensions/DependencyInjectionServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Internal/ExternalService.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Options/DependencyInjectionSettingsOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Providers/INamedServiceProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Providers/NamedServiceProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DependencyInjection/Scoped.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Attributes/ApiDescriptionSettingsAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Attributes/ApiSeatAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Attributes/DynamicApiControllerAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Attributes/QueryParametersAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Attributes/RouteConstraintAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Builders/DynamicApiControllerBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Conventions/DynamicApiControllerApplicationModelConvention.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Dependencies/IDynamicApiController.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Enums/ApiSeats.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Extensions/DynamicApiControllerServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Formatters/TextPlainMediaTypeFormatter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Internal/ParameterRouteTemplate.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Internal/Penetrates.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Options/DynamicApiControllerSettingsOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Providers/DynamicApiControllerFeatureProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Providers/MvcActionDescriptorChangeProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Runtimes/DynamicApiRuntimeChangeProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/DynamicApiController/Runtimes/IDynamicApiRuntimeChangeProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Attributes/EventSubscribeAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Builders/EventBusOptionsBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Constants/EventSubscribeOperates.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Contexts/EventHandlerContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Contexts/EventHandlerExecutedContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Contexts/EventHandlerExecutingContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Dependencies/IEventPublisher.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Dependencies/IEventSubscriber.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Events/EventHandlerEventArgs.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Executors/IEventHandlerExecutor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Extensions/EventBusExtensitions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Extensions/EventBusServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Factories/EventBusFactory.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Factories/IEventBusFactory.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/HostedServices/EventBusHostedService.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Internal/ChannelEventPublisher.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Internal/Logging.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/MessageCenter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Monitors/IEventHandlerMonitor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Policies/IEventFallbackPolicy.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Sources/ChannelEventSource.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Sources/EventSubscribeOperateSource.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Sources/IEventSource.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Storers/ChannelEventSourceStorer.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Storers/IEventSourceStorer.cs
create mode 100644 src/Admin/ThingsGateway.Furion/EventBus/Wrappers/EventHandlerWrapper.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Assets/error.html
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Attributes/ErrorCodeItemMetadataAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Attributes/ErrorCodeTypeAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Exceptions/AppFriendlyException.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Extensions/AppFriendlyExceptionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Extensions/FriendlyExceptionServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Extensions/Options/FriendlyExceptionOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Filters/FriendlyExceptionFilter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Handlers/IGlobalExceptionHandler.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Internal/ExceptionMetadata.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Internal/Logging.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Internal/MethodIfException.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Oops.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Options/ErrorCodeMessageSettingsOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Options/FriendlyExceptionSettingsOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Providers/IErrorCodeTypeProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Results/BadPageResult.cs
create mode 100644 src/Admin/ThingsGateway.Furion/FriendlyException/Retry.cs
create mode 100644 src/Admin/ThingsGateway.Furion/GlobalUsings.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JWT/Extensions/JWTAuthorizationServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JWT/JWTEncryption.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JWT/Options/JWTSettingsOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Converters/NewtonsoftJson/NewtonsoftJsonDateOnlyJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Converters/NewtonsoftJson/NewtonsoftJsonDateTimeJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Converters/NewtonsoftJson/NewtonsoftJsonDateTimeOffsetJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Converters/NewtonsoftJson/NewtonsoftJsonLongToStringJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Converters/NewtonsoftJson/NewtonsoftJsonTimeOnlyJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Converters/SystemTextJson/SystemTextJsonDateOnlyJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Converters/SystemTextJson/SystemTextJsonDateTimeJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Converters/SystemTextJson/SystemTextJsonDateTimeOffsetJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Converters/SystemTextJson/SystemTextJsonLongToStringJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Converters/SystemTextJson/SystemTextJsonTimeOnlyJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Extensions/JsonSerializationServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Extensions/NewtonsoftJsonExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Extensions/SystemTextJsonExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Internal/Penetrates.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/JSON.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Providers/IJsonSerializerProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/JsonSerialization/Providers/SystemTextJsonSerializerProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Extensions/ILoggerExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Extensions/ILoggerFactoryExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Extensions/ILoggingBuilderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Extensions/LogContextExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Extensions/LogMessageExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Extensions/LoggingServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Extensions/StringLoggingExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Console/ConsoleColors.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Console/ConsoleFormatterExtend.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Console/ConsoleFormatterExtendOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Database/DatabaseLogger.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Database/DatabaseLoggerOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Database/DatabaseLoggerProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Database/DatabaseLoggerSettings.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Database/DatabaseWriteError.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Database/IDatabaseLoggingWriter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Empty/EmptyLogger.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Empty/EmptyLoggerProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/File/FileLogger.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/File/FileLoggerOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/File/FileLoggerProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/File/FileLoggerSettings.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/File/FileLoggingWriter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/File/FileWriteError.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/LogContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/LogMessage.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Monitors/ContractResolverTypes.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Monitors/JsonBehavior.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Monitors/JsonElementConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Monitors/Logging.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Monitors/LoggingMonitorAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Monitors/LoggingMonitorContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Monitors/LoggingMonitorMethod.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Monitors/LoggingMonitorSettings.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Monitors/PropertyNamesContractResolver.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Implantations/Monitors/SuppressMonitorAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Internal/Logging.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Internal/Penetrates.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Internal/StringLoggingPart.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Internal/StringLoggingPartMethods.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Internal/StringLoggingPartSetters.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/Log.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Logging/LoggerFormatter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/ObjectMapper/Extensions/ObjectMapperServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Options/Attributes/FailureMessageAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Options/Attributes/OptionsBuilderAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Options/Attributes/OptionsBuilderMethodMapAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Options/Constants/Constants.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Options/Dependencies/IConfigureOptionsBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Options/Dependencies/IOptionsBuilderDependency.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Options/Dependencies/IPostConfigureOptionsBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Options/Dependencies/IValidateOptionsBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Options/Extensions/OptionsBuilderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/README.md
create mode 100644 src/Admin/ThingsGateway.Furion/README.zh-CN.md
create mode 100644 src/Admin/ThingsGateway.Furion/Reflection/Extensions/MethodInfoExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Reflection/Internal/MethodParameterInfo.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Reflection/Proxies/AspectDispatchProxy.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Reflection/Proxies/AspectDispatchProxyGenerator.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Reflection/Proxies/IDispatchProxy.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Reflection/Proxies/IGlobalDispatchProxy.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Reflection/Reflect.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/CronAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/JobDetailAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/MacroAts/DailyAtAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/MacroAts/HourlyAtAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/MacroAts/MinutelyAtAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/MacroAts/MonthlyAtAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/MacroAts/SecondlyAtAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/MacroAts/WeeklyAtAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/MacroAts/YearlyAtAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/Macros/DailyAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/Macros/HourlyAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/Macros/MinutelyAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/Macros/MonthlyAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/Macros/SecondlyAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/Macros/WeeklyAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/Macros/WorkdayAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/Macros/YearlyAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/PeriodAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/Periods/PeriodHoursAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/Periods/PeriodMinutesAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/Periods/PeriodSecondsAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Attributes/TriggerAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Builders/JobBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Builders/ScheduleOptionsBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Builders/SchedulerBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Builders/TriggerBuilder.Setters.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Builders/TriggerBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Cancellations/IJobCancellationToken.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Cancellations/JobCancellationToken.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Constants/ClusterStatus.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Constants/NamingConventions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Constants/PersistenceBehavior.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Constants/ScheduleResult.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Constants/SqlTypes.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Constants/TriggerStatus.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Contexts/JobClusterContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Contexts/JobExecutedContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Contexts/JobExecutingContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Contexts/JobExecutionContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Contexts/JobFactoryContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Contexts/PersistenceContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Contexts/PersistenceExecutionRecordContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Contexts/PersistenceTriggerContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Converters/DateTimeJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/backend/ScheduleUIExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/backend/ScheduleUIMiddleware.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/backend/ScheduleUIOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/frontend/apiconfig.js
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/frontend/asset-manifest.json
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/frontend/favicon.ico
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/frontend/index.html
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/frontend/static/css/main.8eb42378.css
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/frontend/static/css/main.8eb42378.css.map
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/frontend/static/js/main.78b3d71a.js
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/frontend/static/js/main.78b3d71a.js.LICENSE.txt
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dashboard/frontend/static/js/main.78b3d71a.js.map
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dependencies/IJob.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Dependencies/IJobFactory.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Details/JobDetail.Methods.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Details/JobDetail.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Details/JobDetailOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Events/JobExecutionRecordEventArgs.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Events/SchedulerEventArgs.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Executors/IJobExecutor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Extensions/ScheduleExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Extensions/ScheduleServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Factories/ISchedulerFactory.Exports.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Factories/ISchedulerFactory.Internal.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Factories/SchedulerFactory.Exports.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Factories/SchedulerFactory.Internal.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/HostedServices/ScheduleHostedService.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Http/HttpJob.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Http/HttpJobMessage.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Internal/DynamicJob.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Internal/Logging.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Internal/Penetrates.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Internal/RepeatKeyEqualityComparer.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Loggers/IScheduleLogger.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Loggers/ScheduleLogger.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Monitors/IJobMonitor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Persistences/IJobPersistence.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Schedular.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Schedulers/IScheduler.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Schedulers/Scheduler.Methods.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Schedulers/Scheduler.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Schedulers/SchedulerModel.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Servers/IJobClusterServer.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Triggers/CronTrigger.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Triggers/PeriodTrigger.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Triggers/Trigger.Methods.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Triggers/Trigger.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Triggers/TriggerOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Triggers/TriggerTimeline.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Schedule/Triggers/Triggers.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Assets/index-mini-profiler.html
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Assets/index.html
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Attributes/EnumToNumberAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Attributes/OperationIdAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Attributes/SchemaIdAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Builders/SpecificationDocumentBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Extensions/SpecificationDocumentApplicationBuilderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Extensions/SpecificationDocumentServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Filters/AnySchemaFilter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Filters/ApiActionFilter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Filters/EnumSchemaFilter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Filters/TagsOrderDocumentFilter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Internal/GroupExtraInfo.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Internal/SpecificationAuth.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Internal/SpecificationLoginInfo.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Internal/SpecificationOpenApiInfo.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Internal/SpecificationOpenApiSecurityRequirementItem.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Internal/SpecificationOpenApiSecurityScheme.cs
create mode 100644 src/Admin/ThingsGateway.Furion/SpecificationDocument/Options/SpecificationDocumentSettingsOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Templates/Extensions/StringRenderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/Templates/TP.cs
create mode 100644 src/Admin/ThingsGateway.Furion/ThingsGateway.Furion.csproj
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Constants/Constants.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Constants/CronFieldKind.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Constants/CronStringFormat.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Crontab.Internal.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Crontab.Macro.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Crontab.MacroAt.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Crontab.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Exceptions/TimeCrontabException.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Extensions/DayOfWeekExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/AnyParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/BlankDayOfMonthOrWeekParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/Dependencies/ICronParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/Dependencies/ITimeParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/LastDayOfMonthParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/LastDayOfWeekInMonthParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/LastWeekdayOfMonthParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/NearestWeekdayParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/RandomParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/RangeParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/SpecificDayOfWeekInMonthParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/SpecificParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/SpecificYearParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/TimeCrontab/Parsers/StepParser.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Attributes/NonUnifyAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Attributes/UnifyModelAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Attributes/UnifyProviderAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Attributes/UnifyResultAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Attributes/UnifySerializerSettingAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Extensions/UnifyResultMiddlewareExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Extensions/UnifyResultServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Filters/SucceededUnifyResultFilter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Internal/RESTfulResult.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Internal/UnifyMetadata.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Middlewares/UnifyResultStatusCodesMiddleware.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Options/UnifyResultSettingsOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Providers/IUnifyResultProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/Providers/RESTfulResultProvider.cs
create mode 100644 src/Admin/ThingsGateway.Furion/UnifyResult/UnifyContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/AspNetCore/Extensions/HttpContextExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/AspNetCore/Extensions/IApplicationBuilderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/AspNetCore/Formatters/TextPlainInputFormatter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Attributes/AliasAsAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Converters/Json/ExpandoObjectJsonConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Diagnostics/Debugging.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/DispatchProxy/AsyncDispatchProxyGenerator.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/DispatchProxy/DispatchProxyAsync.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/DispatchProxy/LICENSE
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/AssemblyExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/ConcurrentDictionaryExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/CoreServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/DataTableAndSetExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/DelegateExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/EnumExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/EventHandlerExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/ICollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/IDictionaryExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/IEnumerableExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/JsonExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/LinqExpressionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/MethodInfoExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/NumberExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/ObjectExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/StringExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/TypeExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Extensions/Utf8JsonReaderExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Models/ComponentMetadata.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Options/CoreOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Reflection/ObjectPropertyGetter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Reflection/ObjectPropertySetter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Utilities/AliasAsUtility.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Utilities/FileUtility.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Utilities/JsonUtility.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Utilities/NetworkUtility.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Utilities/RuntimeUtility.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/Core/Utilities/StringUtility.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpContextForwardBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpFileDownloadBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpFileUploadBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpLongPollingBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpMultipartFormDataBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpRemoteBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpRequestBuilder.Methods.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpRequestBuilder.Properties.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpRequestBuilder.StaticMethods.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpRequestBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpServerSentEventsBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/HttpStressTestHarnessBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Builders/IHttpRemoteBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Constants/Constants.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Constants/FileExistsBehavior.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Constants/FileSourceType.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Converters/ByteArrayContentConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Converters/HttpContentConverterBase.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Converters/HttpResponseMessageConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Converters/IActionResultContentConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Converters/IHttpContentConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Converters/ObjectContentConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Converters/StreamContentConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Converters/StringContentConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Converters/VoidContentConverter.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/AcceptLanguageAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/AutoSetHostHeaderAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/BaseAddressAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/BodyAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/CookieAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/DisableCacheAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/EnsureSuccessStatusCodeAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/HeaderAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/HttpClientNameAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/Methods/DeleteAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/Methods/GetAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/Methods/HeadAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/Methods/HttpMethodAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/Methods/OptionsAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/Methods/PatchAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/Methods/PostAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/Methods/PutAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/Methods/TraceAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/MultipartAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/MultipartFormAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/PathAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/PerformanceOptimizationAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/ProfilerAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/PropertyAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/QueryAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/SimulateBrowserAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/TimeoutAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Attributes/TraceIdentifierAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Builders/HttpDeclarativeBuilder.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/DeclarativeManager.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/AcceptLanguageDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/AutoSetHostHeaderDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/BaseAddressDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/BodyDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/CookieDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/DisableCacheDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/EnsureSuccessStatusCodeDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/HeaderDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/HttpClientNameDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/HttpMultipartFormDataBuilderDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/HttpRequestBuilderDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/IFrozenHttpDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/IHttpDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/MultipartDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/PathDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/PerformanceOptimizationDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/ProfilerDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/PropertyDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/QueryDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/SimulateBrowserDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/TimeoutDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/TraceIdentifierDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/Extractors/ValidationDeclarativeExtractor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/HttpDeclarativeDispatchProxy.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/HttpDeclarativeExtractorContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Declarative/IHttpDeclarative.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Delegates/ProfilerDelegatingHandler.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Extensions/HttpContextExtensions.ForwardAs.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Extensions/HttpContextExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Extensions/HttpRemoteExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Extensions/HttpRemoteServiceCollectionExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Factories/HttpContentConverterFactory.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Factories/HttpContentProcessorFactory.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Factories/IHttpContentConverterFactory.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Factories/IHttpContentProcessorFactory.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Factories/IObjectContentConverterFactory.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Factories/ObjectContentConverterFactory.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Filters/ForwardAttribute.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Handlers/IHttpFileTransferEventHandler.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Handlers/IHttpLongPollingEventHandler.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Handlers/IHttpRequestEventHandler.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Handlers/IHttpServerSentEventsEventHandler.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Helpers/Helpers.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Managers/FileDownloadManager.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Managers/FileUploadManager.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Managers/LongPollingManager.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Managers/ServerSentEventsManager.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Managers/StressTestHarnessManager.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/DigestCredentials.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/FileTransferProgress.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/FileTypeMapper.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/HttpClientPooling.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/HttpRemoteResult.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/Logging.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/MultipartFile.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/MultipartFormDataItem.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/ProgressFileStream.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/RateLimitedStream.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/ServerSentEventsData.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/StressTestHarnessResult.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Models/VoidContent.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Options/HttpContextForwardOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Options/HttpRemoteOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Processors/ByteArrayContentProcessor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Processors/FormUrlEncodedContentProcessor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Processors/HttpContentProcessorBase.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Processors/IHttpContentProcessor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Processors/MessagePackContentProcessor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Processors/MultipartFormDataContentProcessor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Processors/ReadOnlyMemoryContentProcessor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Processors/StreamContentProcessor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Processors/StringContentForFormUrlEncodedContentProcessor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Processors/StringContentProcessor.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Services/HttpRemoteService.Extensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Services/HttpRemoteService.HttpMethods.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Services/HttpRemoteService.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Services/IHttpRemoteService.Extensions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Services/IHttpRemoteService.HttpMethods.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Services/IHttpRemoteService.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/Utilities/HttpRemoteUtility.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/WebSocket/WebSocketBinaryReceiveResult.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/WebSocket/WebSocketClient.Events.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/WebSocket/WebSocketClient.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/WebSocket/WebSocketClientOptions.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/HttpRemote/WebSocket/WebSocketTextReceiveResult.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Contexts/CompositePolicyContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Contexts/FallbackPolicyContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Contexts/PolicyContextBase.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Contexts/RetryPolicyContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Contexts/TimeoutPolicyContext.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Dependencies/IExceptionPolicy.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Policies/CompositePolicy.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Policies/FallbackPolicy.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Policies/LockPolicy.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Policies/PolicyBase.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Policies/RetryPolicy.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Policies/TimeoutPolicy.cs
create mode 100644 src/Admin/ThingsGateway.Furion/V5_Experience/RescuePolicy/Policy.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Attributes/MinValueAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Buffers/BufferSegment.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Buffers/PooledByteBufferWriter.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Buffers/SpanHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Buffers/SpanReader.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Caching/Cache.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Caching/CacheLock.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Caching/CacheProvider.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Caching/ICache.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Caching/ICacheProvider.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Caching/IProducerConsumer.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Caching/MemoryCache.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Collections/ConcurrentHashSet.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Collections/IPool.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Collections/NullableDictionary.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Collections/ObjectPool.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Collections/Pool.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Collections/QueueService.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Common/ConvertUtility.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Common/DisposeBase.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Common/FileUtil.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Common/Gen2GcCallback.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Common/Index.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Common/MachineInfo.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Common/PinYin.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Common/Range.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Common/Runtime.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Common/TimeProvider.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Configuration/CommandParser.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Configuration/Config.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Configuration/ConfigAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Configuration/ConfigHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Configuration/FileConfigProvider.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Configuration/GetConfigCallback.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Configuration/IConfigMapping.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Configuration/IConfigProvider.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Configuration/IConfigSection.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Configuration/IniConfigProvider.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Configuration/XmlConfigProvider.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Event/EventArgs.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Event/WeakAction.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Exceptions/XException.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/BitHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/ByteArrayToNumberArrayConverter.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/ConcurrentDictionaryExtensions.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/ConcurrentQueueExtensions.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/DateExtensions.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/EndPointExtensions.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/EnumHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/JsonExtensions.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/LinqExtensions.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/ListExtension.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/PathExtensions.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/ProcessHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/SpeakProvider.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/StringHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Extension/TextWriterExtensions.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/GlobalUsings.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/IO/CsvFile.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/IO/EncodingHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/IO/ExcelReader.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/IO/FileSource.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/IO/IOHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/IO/PathHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/ActionLog.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/CompositeLog.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/ConsoleLog.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/ILog.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/ILogFeature.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/LevelLog.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/LogEventListener.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/LogLevel.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/Logger.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/Readme.md
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/TextFileLog.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/TimeCost.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/TraceStream.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/WriteLogEventArgs.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Logger/XTrace.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Net/IDnsResolver.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Net/IIPResolver.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Net/NetHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Net/NetUri.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Net/TcpConnectionInformation2.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/README.md
create mode 100644 src/Admin/ThingsGateway.NewLife.X/README.zh-CN.md
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Reflection/AssemblyX.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Reflection/AttributeX.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Reflection/DynamicInternal.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Reflection/DynamicXml.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Reflection/IIndexAccessor.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Reflection/IReflect.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Reflection/Reflect.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Reflection/ScriptEngine.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/AlgorithmKeyBlob.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/Asn1.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/Asn1Tags.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/CbcTransform.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/Certificate.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/Crc16.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/Crc32.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/DSAHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/IPasswordProvider.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/Murmur128.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/PKCS7PaddingTransform.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/ProtectedKey.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/RC4.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/RSAHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/Rand.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/SM4.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/SecurityHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Security/ZerosPaddingTransform.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Binary/Binary.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Binary/BinaryColor.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Binary/BinaryComposite.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Binary/BinaryDictionary.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Binary/BinaryFont.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Binary/BinaryGeneral.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Binary/BinaryList.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Binary/BinaryNormal.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Binary/FieldSizeAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Binary/IBinary.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/DataMemberResolver.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Interface/AccessorAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Interface/AccessorContext.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Interface/FixedStringAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Interface/FullStringAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Interface/IAccessor.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Interface/IFormatterX.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Interface/IMemberAccessor.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/LocalTimeConverter.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/SerialHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/TypeConverter.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Xml/IXml.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Xml/Xml.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Xml/XmlComposite.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Xml/XmlGeneral.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Xml/XmlList.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Serialization/Xml/XmlParser.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Setting.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Stub/IsExternalInit.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Stub/MaybeNullAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Stub/MaybeNullWhenAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Stub/MemberNotNullAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Stub/MemberNotNullWhenAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Stub/NotNullAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Stub/NotNullIfNotNullAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Stub/NotNullWhenAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Stub/ScriptIgnoreAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/ThingsGateway.NewLife.X.csproj
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Threading/Cron.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Threading/ITimer.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Threading/TaskEx.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Threading/ThreadPoolX.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Threading/TimerScheduler.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Threading/TimerX.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Web/Link.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Web/TokenModel.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Web/TokenProvider.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Web/UriInfo.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Windows/ConsoleHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Windows/ControlHelper.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Windows/PowerStatus.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Xml/SerializableDictionary.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Xml/XmlConfig.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Xml/XmlConfigFileAttribute.cs
create mode 100644 src/Admin/ThingsGateway.NewLife.X/Xml/XmlHelper.cs
rename src/{ThingsGateway.Photino => Admin/ThingsGateway.Photino.Blazor}/Photino/PhotinoBlazorApp.cs (100%)
rename src/{ThingsGateway.Photino => Admin/ThingsGateway.Photino.Blazor}/Photino/PhotinoBlazorAppBuilder.cs (99%)
rename src/{ThingsGateway.Photino => Admin/ThingsGateway.Photino.Blazor}/Photino/PhotinoBlazorAppConfiguration.cs (100%)
rename src/{ThingsGateway.Photino => Admin/ThingsGateway.Photino.Blazor}/Photino/PhotinoDispatcher.cs (100%)
rename src/{ThingsGateway.Photino => Admin/ThingsGateway.Photino.Blazor}/Photino/PhotinoHttpHandler.cs (100%)
rename src/{ThingsGateway.Photino => Admin/ThingsGateway.Photino.Blazor}/Photino/PhotinoSyncrhronizationContext.cs (100%)
rename src/{ThingsGateway.Photino => Admin/ThingsGateway.Photino.Blazor}/Photino/PhotinoWebViewManager.cs (100%)
rename src/{ThingsGateway.Photino => Admin/ThingsGateway.Photino.Blazor}/Photino/PhotinoWindowRootComponents.cs (92%)
rename src/{ThingsGateway.Photino => Admin/ThingsGateway.Photino.Blazor}/Photino/ServiceCollectionExtensions.cs (100%)
rename src/{ThingsGateway.Photino => Admin/ThingsGateway.Photino.Blazor}/Photino/Utils/SynchronousTaskScheduler.cs (100%)
create mode 100644 src/Admin/ThingsGateway.Photino.Blazor/ThingsGateway.Photino.Blazor.csproj
create mode 100644 src/Admin/ThingsGateway.Razor/BaseLayout.razor
create mode 100644 src/Admin/ThingsGateway.Razor/BaseLayout.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/BaseLayout.razor.css
create mode 100644 src/Admin/ThingsGateway.Razor/Common/ConcurrentList.cs
rename src/{Gateway/ThingsGateway.Gateway.Application => Admin/ThingsGateway.Razor}/Common/EncodingMapper.cs (96%)
create mode 100644 src/Admin/ThingsGateway.Razor/Common/IDriverUIBase.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Common/ImportPreviewOutput.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Common/ModelValueValidateForm.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Common/RandomHelper.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/About.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/About.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/Base/WebSiteModuleComponentBase.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/BlazorReconnector.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/BlazorReconnector.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/CultureChooser.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/CultureChooser.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/DefaultTable.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/DefaultTable.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/EditComponent.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/EditComponent.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/EditComponent.razor.css
create mode 100644 src/Admin/ThingsGateway.Razor/Components/EditorForm/EditorFormObject.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/EditorForm/EditorFormObject.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/EditorForm/EditorFormObject.razor.css
create mode 100644 src/Admin/ThingsGateway.Razor/Components/FAIconList.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/FAIconList.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/FAIconList.razor.css
create mode 100644 src/Admin/ThingsGateway.Razor/Components/FAIconList.razor.js
create mode 100644 src/Admin/ThingsGateway.Razor/Components/GlobalSearch.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/GlobalSearch.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/GlobalSearch.razor.css
create mode 100644 src/Admin/ThingsGateway.Razor/Components/ImportExcel.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/ImportExcel.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/ImportExcel.razor.css
create mode 100644 src/Admin/ThingsGateway.Razor/Components/Logo.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/Logo.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/Logo.razor.css
create mode 100644 src/Admin/ThingsGateway.Razor/Components/MenuIconList.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/MenuIconList.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/MenuIconList.razor.css
create mode 100644 src/Admin/ThingsGateway.Razor/Components/SelectItemChooser.razor
create mode 100644 src/Admin/ThingsGateway.Razor/Components/SelectItemChooser.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Components/SelectItemChooser.razor.css
create mode 100644 src/Admin/ThingsGateway.Razor/Const/WebsiteConst.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Data/BasePageInput.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Data/IBasePageInput.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Data/IPrimaryIdEntity.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Data/MessageItem.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Data/SqlSugarPagedList.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Extensions/DisplayExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Extensions/GenericExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Extensions/JSRuntimeExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Extensions/LocalizerExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Extensions/ObjectExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Extensions/ParallelExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Extensions/StringExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Extensions/ToastServiceExtensions.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Locales/en-US.json
create mode 100644 src/Admin/ThingsGateway.Razor/Locales/zh-CN.json
create mode 100644 src/Admin/ThingsGateway.Razor/Options/MenuOptions.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Options/WebsiteOptions.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Services/DefaultMenuService.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Services/IAppVersionService.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Services/IMenuService.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Services/VersionService.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Startup.cs
create mode 100644 src/Admin/ThingsGateway.Razor/ThingsGateway.Razor.csproj
create mode 100644 src/Admin/ThingsGateway.Razor/UnifyResult/UnifyResult.cs
create mode 100644 src/Admin/ThingsGateway.Razor/Util/LocalizerUtil.cs
create mode 100644 src/Admin/ThingsGateway.Razor/_Imports.razor
create mode 100644 src/Admin/ThingsGateway.Razor/_Imports.razor.cs
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/css/site.css
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/favicon.ico
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/favicon.png
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/images/401.png
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/images/404.png
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/images/500.png
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/images/defaultUser.svg
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/images/empty.svg
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/images/en.svg
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/images/gitee.png
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/images/login-left.svg
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/images/quickactions.svg
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/images/zh.svg
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/js/culture.js
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/js/downloadFile.js
create mode 100644 src/Admin/ThingsGateway.Razor/wwwroot/js/theme.js
rename src/Foundation/ThingsGateway.Foundation.Razor/DebugPages/{ChannelDataDebugComponent.razor => ChannelComponent.razor} (72%)
create mode 100644 src/Foundation/ThingsGateway.Foundation.Razor/DebugPages/ChannelComponent.razor.cs
delete mode 100644 src/Foundation/ThingsGateway.Foundation.Razor/DebugPages/ChannelDataDebugComponent.razor.cs
create mode 100644 src/Foundation/ThingsGateway.Foundation.Razor/DebugPages/ChannelOptionsDefault.cs
create mode 100644 src/Foundation/ThingsGateway.Foundation.Razor/DebugPages/ConverterConfigComponent.razor
create mode 100644 src/Foundation/ThingsGateway.Foundation.Razor/DebugPages/ConverterConfigComponent.razor.cs
rename src/Foundation/ThingsGateway.Foundation.Razor/DebugPages/{AdapterDebugComponent.razor => DeviceComponent.razor} (69%)
rename src/Foundation/ThingsGateway.Foundation.Razor/DebugPages/{AdapterDebugComponent.razor.cs => DeviceComponent.razor.cs} (82%)
rename src/Foundation/ThingsGateway.Foundation.Razor/DebugPages/{AdapterDebugBase.cs => DeviceComponentBase.cs} (79%)
delete mode 100644 src/Foundation/ThingsGateway.Foundation.Razor/Locales/zh-TW.json
create mode 100644 src/Foundation/ThingsGateway.Foundation/Attributes/UriValidationAttribute.cs
delete mode 100644 src/Foundation/ThingsGateway.Foundation/Channel/ChannelData.cs
create mode 100644 src/Foundation/ThingsGateway.Foundation/Channel/ChannelOptions.cs
create mode 100644 src/Foundation/ThingsGateway.Foundation/Channel/ChannelOptionsBase.cs
rename src/Foundation/ThingsGateway.Foundation/Channel/Extension/{ChannelConfigExtensions.cs => ChannelOptionsExtensions.cs} (63%)
create mode 100644 src/Foundation/ThingsGateway.Foundation/Channel/IChannelOptions.cs
create mode 100644 src/Foundation/ThingsGateway.Foundation/Channel/OtherChannel.cs
rename src/Foundation/ThingsGateway.Foundation/{Trans => Converter}/EncodingConverter.cs (100%)
rename src/Foundation/ThingsGateway.Foundation/Converter/{JsonStringToClassSerializerFormatter.cs => JsonToClassConverter.cs} (77%)
delete mode 100644 src/Foundation/ThingsGateway.Foundation/Converter/StringToEncodingConverter.cs
create mode 100644 src/Foundation/ThingsGateway.Foundation/DataHandleAdapter/DeviceSingleStreamDataHandleAdapter.cs
rename src/Foundation/ThingsGateway.Foundation/DataHandleAdapter/{ProtocolUdpDataHandleAdapter.cs => DeviceUdpDataHandleAdapter.cs} (86%)
delete mode 100644 src/Foundation/ThingsGateway.Foundation/DataHandleAdapter/ProtocolSingleStreamDataHandleAdapter.cs
rename src/Foundation/ThingsGateway.Foundation/{Protocol/ProtocolBase.cs => Device/DeviceBase.cs} (78%)
create mode 100644 src/Foundation/ThingsGateway.Foundation/Device/DeviceExtension.cs
rename src/Foundation/ThingsGateway.Foundation/{Protocol/IProtocol.cs => Device/IDevice.cs} (91%)
rename src/Foundation/ThingsGateway.Foundation/{OperResult/ErrorCodeEnum.cs => Enums/ErrorTypeEnum.cs} (88%)
delete mode 100644 src/Foundation/ThingsGateway.Foundation/Locales/zh-TW.json
create mode 100644 src/Foundation/ThingsGateway.Foundation/OperResult/OperResultClass.cs
delete mode 100644 src/Foundation/ThingsGateway.Foundation/Protocol/ProtocolBaseExtension.cs
delete mode 100644 src/Foundation/ThingsGateway.Foundation/Protocol/ProtocolWaitDataStatusExtension.cs
delete mode 100644 src/Foundation/ThingsGateway.Foundation/Protocol/StructContentPraseExtensions.cs
create mode 100644 src/Foundation/ThingsGateway.Foundation/Trans/ConverterConfig.cs
delete mode 100644 src/FoundationVersion.props
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Common/AsyncReadWriteLock.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Common/ExportFilter.cs
rename src/Gateway/ThingsGateway.Gateway.Application/{Services/Plugin/Dto => Common}/InternalTableColumn.cs (97%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Common/StringOrdinalIgnoreCaseEqualityComparer.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Controller/ConfigInfoController.cs
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/BusinessBase.cs (50%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/BusinessPropertyBase.cs (89%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/BusinessBaseWithCacheAlarmModel.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/BusinessBaseWithCacheDeviceModel.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/BusinessBaseWithCacheVariableModel.cs (98%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/BusinessPropertyWithCache.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/Interval/BusinessBaseWithCacheIntervalAlarmModel.cs (73%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/Interval/BusinessBaseWithCacheIntervalDeviceModel.cs (73%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/Interval/BusinessBaseWithCacheIntervalScript.cs (98%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/Interval/BusinessBaseWithCacheIntervalVariableModel.cs (70%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/Interval/BusinessPropertyWithCacheInterval.cs (93%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/Interval/BusinessPropertyWithCacheIntervalDBScript.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/Interval/BusinessPropertyWithCacheIntervalScript.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/TopicArray.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/Cache/TopicJson.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/DB/BusinessDatabaseUtil.cs (66%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/DB/DBHistoryAlarmPageInput.cs (96%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/DB/DBHistoryValuePageInput.cs (96%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/DB/IDBHistoryAlarm.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/DB/IDBHistoryAlarmService.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/DB/IDBHistoryValue.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/DB/IDBHistoryValueService.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Business/VariablePropertyBase.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/CacheDB/CacheDB.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/CacheDB/CacheDBItem.cs (97%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/CacheDB/CacheDBOption.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/CacheDB/CacheDBUtil.cs (89%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Collect/CollectBase.cs (80%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/Collect/CollectPropertyBase.cs (80%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Driver/DriverBase.cs
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/DriverPropertyBase.cs (90%)
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin => Driver}/DynamicModelExtension.cs (89%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Driver/IDriver.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Entity/IEqualityOperators.cs
rename src/Gateway/ThingsGateway.Gateway.Application/{Plugin/Business/IDriverUIBase.cs => Enums/BusinessUpdateEnum.cs} (89%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Enums/RedundantSwitchTypeEnum.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Extensions/ResourceExtensions.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Extensions/VariableMethodExtensions.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/HostService/Device/BusinessDeviceHostedService.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/HostService/Device/CollectDeviceHostedService.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/HostService/Device/DeviceHostedService.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/HostService/Device/IDeviceHostedService.cs
rename src/Gateway/ThingsGateway.Gateway.Application/Job/{LogJob => }/LogJob.cs (84%)
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Locales/zh-TW.json
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Model/ChannelRuntime.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Model/CollectDeviceRunTime.cs
rename src/Gateway/ThingsGateway.Gateway.Application/{Services/Plugin/Dto/PluginOutput.cs => Model/PluginInfo.cs} (84%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Options/ChannelThreadOptions.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Options/GatewayLogOptions.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Options/RpcLogOptions.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Plugin/ChannelThread.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Plugin/DriverBase.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Plugin/DriverBaseExtension.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/Channel/ChannelRuntimeService.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/Channel/IChannelRuntimeService.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/Device/DeviceRuntimeService.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/Device/IDeviceRuntimeService.cs
rename src/Gateway/ThingsGateway.Gateway.Application/{HostService => Services/GatewayMonitor/AlarmManage}/AlarmHostedService.cs (74%)
rename src/Gateway/ThingsGateway.Gateway.Application/{HostService => Services/GatewayMonitor/AlarmManage}/IAlarmHostedService.cs (73%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/GatewayMonitor/ChannelManage/ChannelThreadManage.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/GatewayMonitor/ChannelManage/IChannelThreadManage.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/GatewayMonitor/DeviceManage/DeviceThreadManage.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/GatewayMonitor/DeviceManage/IDeviceThreadManage.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/GatewayMonitor/GatewayMonitorHostedService.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/GatewayMonitor/IGatewayMonitorHostedService.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/GatewayMonitor/IGatewayRedundantSerivce.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/Variable/Dto/VariableInput.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/Variable/IVariableRuntimeService.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Application/Services/Variable/VariableRuntimeService.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Locales/zh-TW.json
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Channel/ChannelEditComponent.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Channel/ChannelEditComponent.razor.css
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Channel/ChannelPage.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Channel/ChannelPage.razor.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Device/BusinessPropertyWithCacheIntervalScriptRazor.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Device/DeviceEditComponent.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Device/DeviceEditComponent.razor.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Device/DeviceEditComponent.razor.css
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Device/DevicePage.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Device/DevicePage.razor.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Variable/VariableEditComponent.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Variable/VariableEditComponent.razor.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Variable/VariableEditComponent.razor.css
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Config/Variable/VariablePage.razor
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Channel/ChannelEditComponent.razor
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config => GatewayMonitorPage}/Channel/ChannelEditComponent.razor.cs (70%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Runtime/DeviceStatus/DeviceStatus.razor.css => GatewayMonitorPage/Channel/ChannelEditComponent.razor.css} (53%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Channel/ChannelRuntimeInfo.razor
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config/Device/CollectDevicePage.cs => GatewayMonitorPage/Channel/ChannelRuntimeInfo.razor.cs} (75%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Runtime/DeviceStatus/DeviceStatus1.razor.css => GatewayMonitorPage/Channel/ChannelRuntimeInfo.razor.css} (100%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Channel/ChannelRuntimeInfo1.razor
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Runtime/DeviceStatus/DeviceStatus1.razor.cs => GatewayMonitorPage/Channel/ChannelRuntimeInfo1.razor.cs} (54%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Channel/ChannelRuntimeInfo1.razor.css
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/ChannelDeviceTree.razor
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/ChannelDeviceTree.razor.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/ChannelDeviceTree.razor.css
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/ChannelDeviceTreeItem.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Device/DeviceEditComponent.razor
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Device/DeviceEditComponent.razor.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Device/DeviceEditComponent.razor.css
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Device/DeviceRuntimeInfo.razor
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config/Device/BusinessDevicePage.cs => GatewayMonitorPage/Device/DeviceRuntimeInfo.razor.cs} (75%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Runtime/DeviceStatus/DeviceStatus3.razor.css => GatewayMonitorPage/Device/DeviceRuntimeInfo.razor.css} (100%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Device/DeviceRuntimeInfo1.razor
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Device/DeviceRuntimeInfo1.razor.cs
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Runtime/DeviceStatus/DeviceStatus2.razor.css => GatewayMonitorPage/Device/DeviceRuntimeInfo1.razor.css} (79%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Device/PropertyComponent.razor
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config/Device/BusinessPropertyWithCacheIntervalScriptRazor.razor.cs => GatewayMonitorPage/Device/PropertyComponent.razor.cs} (93%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config => GatewayMonitorPage}/Device/ScriptCheck.razor (100%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config => GatewayMonitorPage}/Device/ScriptCheck.razor.cs (97%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/GatewayMonitorPage.razor
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/GatewayMonitorPage.razor.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/ShowTypeEnum.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Variable/VariableEditComponent.razor
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Variable/VariableEditComponent.razor.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Variable/VariableEditComponent.razor.css
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/Variable/VariableRuntimeInfo.razor
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config/Variable/VariablePage.razor.cs => GatewayMonitorPage/Variable/VariableRuntimeInfo.razor.cs} (52%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{_Log => LogPage}/BackendLogPage.razor (95%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{_Log => LogPage}/BackendLogPage.razor.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{_Log => LogPage}/RpcLogPage.razor (95%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{_Log => LogPage}/RpcLogPage.razor.cs (100%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config/DriverDebugPage.razor => PluginPage/PluginDebugPage.razor} (84%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config/DriverDebugPage.razor.cs => PluginPage/PluginDebugPage.razor.cs} (68%)
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/PluginPage/PluginDebugPage.razor.css
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config/Plugin => PluginPage}/PluginPage.razor (83%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config/Plugin => PluginPage}/PluginPage.razor.cs (91%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config/Plugin => PluginPage}/SavePlugin.razor (100%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Config/Plugin => PluginPage}/SavePlugin.razor.cs (96%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Runtime => RealAlarmPage}/RealAlarmPage.razor (94%)
rename src/Gateway/ThingsGateway.Gateway.Razor/Pages/{Runtime/DeviceStatus/DeviceStatus.razor.Parameter.cs => RealAlarmPage/RealAlarmPage.razor.cs} (55%)
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/DeviceStatus/DeviceStatus.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/DeviceStatus/DeviceStatus.razor.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/DeviceStatus/DeviceStatus1.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/DeviceStatus/DeviceStatus2.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/DeviceStatus/DeviceStatus2.razor.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/DeviceStatus/DeviceStatus3.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/DeviceStatus/DeviceStatus3.razor.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/DeviceStatus/DeviceStatusPage.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/DeviceStatus/DeviceStatusPage.razor.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/RealAlarmPage.razor.cs
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/VariableRuntimePage.razor
delete mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Pages/Runtime/VariableRuntimePage.razor.cs
create mode 100644 src/Gateway/ThingsGateway.Gateway.Razor/Util/ResourceUtil.cs
create mode 100644 src/Plugin.sln
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/Configuration/App.json
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/Configuration/BootstrapBlazor.json
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/Configuration/Logging.json
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/Configuration/Menu.json
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/Configuration/MenuPro.json
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/Configuration/Website.json
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/MainLayout.razor
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/MainLayout.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/MainLayout.razor.css
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/Program.cs
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/Properties/launchSettings.json
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/Routes.razor
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/SingleFilePublish.cs
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/ThingsGateway.Debug.Photino.csproj
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/appsettings.Development.json
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/appsettings.json
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/favicon.ico
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/wwwroot/favicon.ico
create mode 100644 src/Plugin/ThingsGateway.Debug.Photino/wwwroot/favicon.png
rename src/{ThingsGateway.Winform => Plugin/ThingsGateway.Debug.Photino}/wwwroot/index.html (77%)
create mode 100644 src/Plugin/ThingsGateway.Debug.Razor/Pages/Index.razor
create mode 100644 src/Plugin/ThingsGateway.Debug.Razor/Pages/Index.razor.css
create mode 100644 src/Plugin/ThingsGateway.Debug.Razor/Startup.cs
create mode 100644 src/Plugin/ThingsGateway.Debug.Razor/ThingsGateway.Debug.Razor.csproj
create mode 100644 src/Plugin/ThingsGateway.Debug.Razor/_Imports.razor
create mode 100644 src/Plugin/ThingsGateway.Debug.Razor/_Imports.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Core/Dlt645_2007Message.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Core/Dlt645_2007Send.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Dlt645_2007Master.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Helper/ControlCode.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Helper/Dlt645Helper.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Helper/Dlt645_2007Address.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Helper/Dlt645_2007BitConverter.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Helper/PackHelper.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/Locales/DltResource.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/ThingsGateway.Foundation.Dlt645.csproj
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/docs/645MeterV2.7.1.zip
create mode 100644 src/Plugin/ThingsGateway.Foundation.Dlt645/docs/DL+-+T645-2007国网多功能电能表通信协议(100107_zjg_整理版).doc
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Helper/ModbusAddress.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Helper/ModbusHelper.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Helper/ModbusRequest.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Helper/ModbusResponse.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Helper/ModbusTypeEnum.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Helper/PackHelper.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Locales/ModbusResource.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Master/Core/ModbusRtuMessage.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Master/Core/ModbusRtuSend.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Master/Core/ModbusTcpMessage.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Master/Core/ModbusTcpSend.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Master/ModbusMaster.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Slave/Core/ModbusRtuSlaveMessage.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Slave/Core/ModbusTcpSlaveMessage.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/Slave/ModbusSlave.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Modbus/ThingsGateway.Foundation.Modbus.csproj
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Comn/ComInterop.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Comn/Convert.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Da/OpcEventArgs.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Da/OpcGroup.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Da/OpcItem.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Da/OpcServer.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Da/ServerInfo.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Discovery/OpcDiscovery.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Rcw/BrowseElement.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Rcw/Common.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Rcw/DataAccess.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Rcw/Interop.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/COM/Rcw/ItemProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/OpcDaMaster/OpcDaMaster.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/OpcDaMaster/OpcDaProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/ThingsGateway.Foundation.OpcDa.csproj
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/ThingsGateway.Foundation.OpcDa.xml
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/Utils/CollectionExtension.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcDa/Utils/DictionaryExtension.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/OpcUaMaster/OPCUAStatusEventArgs.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/OpcUaMaster/OpcUaMaster.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/OpcUaMaster/OpcUaProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/ThingsGateway.Foundation.OpcUa.csproj
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/ThingsGateway.Foundation.OpcUa.xml
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/Utils/CollectionExtension.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/Utils/DictionaryExtension.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/Utils/JsonEncoder.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/Utils/JsonUtils.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.OpcUa/Utils/OpcUaUtils.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/Locales/SiemensS7Resource.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/Core/S7BitConverter.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/Core/S7Message.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/Core/S7Send.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/Core/SiemensS7Address.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/Helper/PackHelper.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/Helper/S7Area.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/Helper/S7DateTime.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/Helper/S7WordLength.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/Helper/SiemensHelper.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/Helper/SiemensHelper.other.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/Helper/SiemensTypeEnum.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/SiemensS7Master.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/返回码.txt
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/错误代码.txt
create mode 100644 src/Plugin/ThingsGateway.Foundation.SiemensS7/ThingsGateway.Foundation.SiemensS7.csproj
create mode 100644 src/Plugin/ThingsGateway.Foundation.Test/Dlt645Test.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Test/ModbusTest.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Test/SiemensS7Test.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Test/TestAdapterHelper.cs
create mode 100644 src/Plugin/ThingsGateway.Foundation.Test/ThingsGateway.Foundation.Test.csproj
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/Common/Dto/SqlDBPageInput.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/Common/Dynamic/IDynamicSQL.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/Common/Dynamic/TestHisSQL.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/Common/Dynamic/TestRealSQL.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/Common/RealDBProducerProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/Common/RealDBProducerPropertyRazor.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/Common/RealDBProducerPropertyRazor.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/Directory.build.targets
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/QuestDB/Entity/QuestDBHistoryValue.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/QuestDB/QuestDBProducer.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/QuestDB/QuestDBProducer.other.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/QuestDB/QuestDBProducerVariableProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/QuestDB/Razor/QuestDBPage.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/QuestDB/Razor/QuestDBPage.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/DbType.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/Entity/SQLHistoryValue.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/Entity/SQLRealValue.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/Razor/SqlDBPage.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/Razor/SqlDBPage.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/Razor/SqlDBProducerPropertyRazor.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/Razor/SqlDBProducerPropertyRazor.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/SplitTable/SqlDBBusinessDatabaseUtil.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/SplitTable/SqlDBDateSplitTableService.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/SqlDBProducer.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/SqlDBProducerProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/SqlDBProducerVariableProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlDB/SqlDbProducer.other.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlHistoryAlarm/Dto/HisAlarmDayStatisticsOutput.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlHistoryAlarm/Dto/HistoryAlarmPageInput.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlHistoryAlarm/Entity/HistoryAlarm.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlHistoryAlarm/Razor/HistoryAlarmPage.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlHistoryAlarm/Razor/HistoryAlarmPage.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlHistoryAlarm/SqlHistoryAlarm.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlHistoryAlarm/SqlHistoryAlarm.other.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlHistoryAlarm/SqlHistoryAlarmProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/SqlHistoryAlarm/SqlHistoryAlarmVariableProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/TDengineDB/TDengineDBHistoryValue.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/TDengineDB/TDengineDBPage.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/TDengineDB/TDengineDBPage.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/TDengineDB/TDengineDBProducer.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/TDengineDB/TDengineDBProducer.other.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/TDengineDB/TDengineDBProducerVariableProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/ThingsGateway.Plugin.DB.csproj
create mode 100644 src/Plugin/ThingsGateway.Plugin.DB/_Imports.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/Directory.build.targets
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/Dlt645_2007/Dlt645_2007Master.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/Dlt645_2007/Dlt645_2007MasterProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/Pages/Dlt645_2007AddressComponent.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/Pages/Dlt645_2007AddressComponent.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/Pages/Dlt645_2007Master.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/Pages/Dlt645_2007Master.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/ThingsGateway.Plugin.Dlt645.csproj
create mode 100644 src/Plugin/ThingsGateway.Plugin.Dlt645/_Imports.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.Kafka/Directory.build.targets
create mode 100644 src/Plugin/ThingsGateway.Plugin.Kafka/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Kafka/Kafka/KafkaProducer.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Kafka/Kafka/KafkaProducer.other.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Kafka/Kafka/KafkaProducerProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Kafka/Kafka/KafkaProducerVariableProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Kafka/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.Kafka/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.Kafka/ThingsGateway.Plugin.Kafka.csproj
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/Directory.build.targets
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/ModbusMaster/ModbusMaster.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/ModbusMaster/ModbusMasterProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/ModbusSlave/ModbusSlave.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/ModbusSlave/ModbusSlaveProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/ModbusSlave/ModbusSlaveVariableProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/Pages/ModbusAddressComponent.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/Pages/ModbusAddressComponent.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/Pages/ModbusMaster.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/Pages/ModbusMaster.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/Pages/ModbusSlave.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/Pages/ModbusSlave.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/ThingsGateway.Plugin.Modbus.csproj
create mode 100644 src/Plugin/ThingsGateway.Plugin.Modbus/_Imports.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/Directory.build.targets
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttClient/MqttClient.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttClient/MqttClient.other.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttClient/MqttClientProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttClient/MqttClientVariableProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttCollect/MqttCollect.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttCollect/MqttCollect.other.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttCollect/MqttCollectProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttNetRpcClass/MqttRpcClientTopicGenerationStrategy.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttNetRpcClass/ThingsBoardRpcData.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttServer/MqttServer.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttServer/MqttServer.other.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttServer/MqttServerProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/MqttServer/MqttServerStartup.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.Mqtt/ThingsGateway.Plugin.Mqtt.csproj
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/Directory.build.targets
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/OpcDaMaster/OpcDaMaster.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/OpcDaMaster/OpcDaMasterProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/Pages/OpcDaImportVariable.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/Pages/OpcDaImportVariable.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/Pages/OpcDaMaster.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/Pages/OpcDaMaster.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/ThingsGateway.Plugin.OpcDa.csproj
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcDa/_Imports.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/Directory.build.targets
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/OpcUaMaster/OpcUaMaster.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/OpcUaMaster/OpcUaMasterProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/OpcUaServer/Core/ApplicationMessageDlg.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/OpcUaServer/Core/OpcUaLogger.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/OpcUaServer/Core/OpcUaTag.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/OpcUaServer/Core/ThingsGatewayNodeManager.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/OpcUaServer/Core/ThingsGatewayServer.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/OpcUaServer/OpcUaServer.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/OpcUaServer/OpcUaServerProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/OpcUaServer/OpcUaServerVariableProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/Pages/OpcUaImportVariable.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/Pages/OpcUaImportVariable.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/Pages/OpcUaMaster.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/Pages/OpcUaMaster.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/Pages/OpcUaMasterPropertyRazor.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/Pages/OpcUaMasterPropertyRazor.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/ThingsGateway.Plugin.OpcUa.csproj
create mode 100644 src/Plugin/ThingsGateway.Plugin.OpcUa/_Imports.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.RabbitMQ/Directory.build.targets
create mode 100644 src/Plugin/ThingsGateway.Plugin.RabbitMQ/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.RabbitMQ/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.RabbitMQ/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.RabbitMQ/RabbitMQ/RabbitMQProducer.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.RabbitMQ/RabbitMQ/RabbitMQProducer.other.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.RabbitMQ/RabbitMQ/RabbitMQProducerProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.RabbitMQ/RabbitMQ/RabbitMQProducerVariableProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.RabbitMQ/ThingsGateway.Plugin.RabbitMQ.csproj
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/Directory.build.targets
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/GlobalUsings.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/Locales/en-US.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/Locales/zh-CN.json
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/Pages/SiemensS7AddressComponent.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/Pages/SiemensS7AddressComponent.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/Pages/SiemensS7Master.razor
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/Pages/SiemensS7Master.razor.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/SiemensS7Master/SiemensS7Master.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/SiemensS7Master/SiemensS7MasterProperty.cs
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/ThingsGateway.Plugin.SiemensS7.csproj
create mode 100644 src/Plugin/ThingsGateway.Plugin.SiemensS7/_Imports.razor
delete mode 100644 src/PluginBase.sln
create mode 100644 src/ThingsGateway.Server/Configuration/AdminLog.json
create mode 100644 src/ThingsGateway.Server/Configuration/GatewayLog.json
create mode 100644 src/ThingsGateway.Server/Configuration/RpcLog.json
create mode 100644 src/ThingsGateway.Server/Configuration/Tenant.json
delete mode 100644 src/ThingsGateway.Server/Locales/zh-TW.json
create mode 100644 src/ThingsGateway.Server/targets/PluginDebug.targets
rename src/ThingsGateway.Server/targets/{Publish1.targets => PluginPublish.targets} (100%)
rename src/ThingsGateway.Server/targets/{Custom.targets => Pro1.targets} (100%)
rename src/ThingsGateway.Server/targets/{CustomPlugin.targets => Pro2.targets} (76%)
rename src/ThingsGateway.Server/targets/{OtherPlugin.targets => Pro3.targets} (82%)
rename src/ThingsGateway.Server/targets/{OtherPlugin1.targets => Pro4.targets} (81%)
create mode 100644 src/ThingsGateway.Server/targets/ProPluginDebug.targets
delete mode 100644 src/ThingsGateway.Winform/MainForm.Designer.cs
delete mode 100644 src/ThingsGateway.Winform/MainForm.cs
delete mode 100644 src/ThingsGateway.Winform/MainForm.resx
delete mode 100644 src/ThingsGateway.Winform/ThingsGateway.Winform.csproj
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 000000000..1ff0c4230
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,63 @@
+###############################################################################
+# Set default behavior to automatically normalize line endings.
+###############################################################################
+* text=auto
+
+###############################################################################
+# Set default behavior for command prompt diff.
+#
+# This is need for earlier builds of msysgit that does not have it on by
+# default for csharp files.
+# Note: This is only used by command line
+###############################################################################
+#*.cs diff=csharp
+
+###############################################################################
+# Set the merge driver for project and solution files
+#
+# Merging from the command prompt will add diff markers to the files if there
+# are conflicts (Merging from VS is not affected by the settings below, in VS
+# the diff markers are never inserted). Diff markers may cause the following
+# file extensions to fail to load in VS. An alternative would be to treat
+# these files as binary and thus will always conflict and require user
+# intervention with every merge. To do so, just uncomment the entries below
+###############################################################################
+#*.sln merge=binary
+#*.csproj merge=binary
+#*.vbproj merge=binary
+#*.vcxproj merge=binary
+#*.vcproj merge=binary
+#*.dbproj merge=binary
+#*.fsproj merge=binary
+#*.lsproj merge=binary
+#*.wixproj merge=binary
+#*.modelproj merge=binary
+#*.sqlproj merge=binary
+#*.wwaproj merge=binary
+
+###############################################################################
+# behavior for image files
+#
+# image files are treated as binary by default.
+###############################################################################
+#*.jpg binary
+#*.png binary
+#*.gif binary
+
+###############################################################################
+# diff behavior for common document formats
+#
+# Convert binary document formats to text before diffing them. This feature
+# is only available from the command line. Turn it on by uncommenting the
+# entries below.
+###############################################################################
+#*.doc diff=astextplain
+#*.DOC diff=astextplain
+#*.docx diff=astextplain
+#*.DOCX diff=astextplain
+#*.dot diff=astextplain
+#*.DOT diff=astextplain
+#*.pdf diff=astextplain
+#*.PDF diff=astextplain
+#*.rtf diff=astextplain
+#*.RTF diff=astextplain
diff --git a/.gitignore b/.gitignore
index 9491a2fda..9d098c4ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -360,4 +360,9 @@ MigrationBackup/
.ionide/
# Fody - auto-generated XML schema
-FodyWeavers.xsd
\ No newline at end of file
+FodyWeavers.xsd
+
+/src/*Pro*/
+/src/*Pro*
+/src/*pro*
+/src/*pro*/
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 1cb149fd6..000000000
--- a/.gitmodules
+++ /dev/null
@@ -1,4 +0,0 @@
-[submodule "Admin"]
- url = https://gitee.com/ThingsGateway/BlazorAdmin
- path = Admin
-
diff --git a/Admin b/Admin
deleted file mode 160000
index 3b73b7283..000000000
--- a/Admin
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 3b73b7283ac180a3a3bb2a0a1ecdd87a516b570a
diff --git a/README.md b/README.md
index 9728781da..a37b71a2b 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
## Introduction
-A cross-platform, high-performance edge data collection gateway based on net8, capable of handling millions of data points per.
+A cross-platform, high-performance edge data collection gateway based on net9.
## Documentation
diff --git a/README.zh-CN.md b/README.zh-CN.md
index da7bbf8a6..a1a412b67 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -2,7 +2,11 @@
## 介绍
-基于net8的跨平台高性能边缘采集网关,单机采集数据点位可达百万
+基于net9的跨平台高性能边缘采集网关
+
+最新版本分支:10.0
+
+稳定版分支:Release
## 文档
@@ -15,7 +19,7 @@
### 源码克隆
-注意因仓库包含子模块,直接下载zip包会导致子模块丢失,建议使用git clone命令
+建议使用git clone命令
``` shell
@@ -23,29 +27,6 @@ https://gitee.com/ThingsGateway/ThingsGateway.git
```
-### 源码更新
-
-在vs中打开powerShell窗口,执行以下命令,或根目录下的`git_pull.bat`脚本
-
-
-
-
-``` shell
-
-chcp 65001
-
-rem 更新主仓库
-git pull
-
-rem 初始化并更新所有子模块
-git submodule update --init
-
-pause
-
-```
-
-
-
### 插件列表
#### 采集插件
diff --git a/git_pull.bat b/git_pull.bat
deleted file mode 100644
index 439fe704a..000000000
--- a/git_pull.bat
+++ /dev/null
@@ -1,9 +0,0 @@
-chcp 65001
-
-rem 更新主仓库
-git pull
-
-rem 初始化并更新所有子模块
-git submodule update --init
-
-pause
\ No newline at end of file
diff --git a/src/Admin/README.md b/src/Admin/README.md
new file mode 100644
index 000000000..dd1f01fdc
--- /dev/null
+++ b/src/Admin/README.md
@@ -0,0 +1,21 @@
+
+