From cccffb6240b220f0df07c25bc8e3b8fff1b18dcf Mon Sep 17 00:00:00 2001 From: Ahmet Date: Thu, 7 May 2020 23:28:41 +0300 Subject: [PATCH] Revert "Merge branch 'dev' into Cotur/Blogging" This reverts commit d358e80ecb2e843fd96669db705bb7435a86d28e. --- .../Admin/Localization/Resources/en.json | 30 +- common.DotSettings | 6 - common.props | 2 +- docs/en/CLI.md | 8 +- docs/en/Entity-Framework-Core-Migrations.md | 2 - docs/en/Getting-Started.md | 10 +- docs/en/Localization.md | 52 +- docs/en/Object-Extensions.md | 8 +- docs/en/Tutorials/Part-1.md | 159 +- docs/en/Tutorials/Part-2.md | 527 ++++--- docs/en/Tutorials/Part-3.md | 4 +- .../images/bookstore-angular-file-tree.png | Bin 92799 -> 246634 bytes .../images/generate-proxy-command.png | Bin 88318 -> 0 bytes .../en/Tutorials/images/generated-proxies.png | Bin 130602 -> 0 bytes docs/en/UI/Angular/Config-State.md | 12 +- docs/en/UI/Angular/Confirmation-Service.md | 185 --- docs/en/UI/Angular/Http-Requests.md | 2 +- docs/en/UI/Angular/Modifying-the-Menu.md | 199 --- docs/en/UI/Angular/Permission-Management.md | 2 +- docs/en/UI/Angular/Toaster-Service.md | 158 -- docs/en/UI/Angular/images/confirmation.png | Bin 26919 -> 0 bytes .../images/navigation-menu-after-patching.png | Bin 36214 -> 0 bytes .../images/navigation-menu-search-input.png | Bin 22575 -> 0 bytes .../navigation-menu-via-app-routing.png | Bin 28336 -> 0 bytes .../navigation-menu-via-config-state.png | Bin 45536 -> 0 bytes docs/en/UI/Angular/images/toast.png | Bin 20291 -> 0 bytes docs/en/UI/Common/Utils/Linked-List.md | 22 +- docs/en/docs-nav.json | 27 +- docs/zh-Hans/API/Auto-API-Controllers.md | 4 +- docs/zh-Hans/Application-Services.md | 2 +- .../zh-Hans/AspNetCore/Tag-Helpers/Buttons.md | 2 +- docs/zh-Hans/Audit-Logging.md | 32 +- docs/zh-Hans/Authorization.md | 2 +- docs/zh-Hans/Background-Workers.md | 4 +- docs/zh-Hans/Blog-Posts/2019-02-22/Post.md | 14 +- .../2019-06-19 v0_18_Release/Post.md | 12 +- .../2019-08-16 v0_19_Release/Post.md | 4 +- .../2019-09-25 v0_21_Release/Post.md | 4 +- .../2020-03-19 v2_3_Release/Post.md | 16 +- docs/zh-Hans/CLI.md | 20 +- ...Application-Modules-Overriding-Services.md | 2 +- docs/zh-Hans/Entities.md | 6 +- .../Entity-Framework-Core-Migrations.md | 14 +- docs/zh-Hans/Entity-Framework-Core-MySQL.md | 6 +- .../Entity-Framework-Core-Other-DBMS.md | 2 +- .../Entity-Framework-Core-PostgreSQL.md | 4 +- docs/zh-Hans/Entity-Framework-Core-SQLite.md | 4 +- docs/zh-Hans/Entity-Framework-Core.md | 10 +- .../Getting-Started-Angular-Template.md | 9 +- .../Getting-Started-AspNetCore-Application.md | 4 +- ...Getting-Started-AspNetCore-MVC-Template.md | 104 +- .../Getting-Started-With-Startup-Templates.md | 8 +- docs/zh-Hans/Getting-Started.md | 416 ----- docs/zh-Hans/Index.md | 2 +- docs/zh-Hans/Localization.md | 52 +- docs/zh-Hans/Modules/Docs.md | 12 +- docs/zh-Hans/Object-Extensions.md | 108 +- docs/zh-Hans/Object-To-Object-Mapping.md | 4 +- docs/zh-Hans/Options.md | 10 +- docs/zh-Hans/Samples/Microservice-Demo.md | 24 +- docs/zh-Hans/Settings.md | 2 +- docs/zh-Hans/Specifications.md | 3 - docs/zh-Hans/Startup-Templates/Application.md | 4 +- docs/zh-Hans/Startup-Templates/Index.md | 2 +- .../Tutorials/AspNetCore-Mvc/Part-I.md | 8 +- .../Tutorials/AspNetCore-Mvc/Part-III.md | 4 +- .../images/bookstore-add-create-dialog-v2.png | Bin .../images/bookstore-add-edit-dialog.png | Bin .../images/bookstore-add-index-page-v2.png | Bin .../images/bookstore-appservice-tests.png | Bin .../images/bookstore-book-list-2.png | Bin 0 -> 33396 bytes .../images/bookstore-book-list.png | Bin 0 -> 33481 bytes .../images/bookstore-books-table-actions.png | Bin .../images/bookstore-books-table.png | Bin .../images/bookstore-create-dialog-2.png | Bin .../images/bookstore-create-dialog.png | Bin .../images/bookstore-create-template.png | Bin 0 -> 32422 bytes .../images/bookstore-homepage.png | Bin .../images/bookstore-index-js-file-v2.png | Bin .../bookstore-localization-files-v2.png | Bin 0 -> 6323 bytes .../images/bookstore-menu-items.png | Bin .../images/bookstore-new-book-button.png | Bin 0 -> 34614 bytes .../bookstore-pmc-add-book-migration-v2.png | Bin 0 -> 7712 bytes .../bookstore-pmc-add-book-migration.png | Bin .../images/bookstore-swagger.png | Bin 0 -> 35254 bytes ...ookstore-test-js-proxy-getlist-network.png | Bin .../bookstore-test-js-proxy-getlist.png | Bin .../images/bookstore-test-projects-v2.png | Bin .../images/bookstore-user-management.png | Bin .../bookstore-visual-studio-solution-v3.png | Bin docs/zh-Hans/Tutorials/Part-1.md | 1078 ------------- docs/zh-Hans/Tutorials/Part-2.md | 1349 ----------------- docs/zh-Hans/Tutorials/Part-3.md | 198 --- .../images/bookstore-actions-buttons.png | Bin 29435 -> 0 bytes .../images/bookstore-angular-file-tree.png | Bin 92799 -> 0 bytes .../images/bookstore-book-list-2.png | Bin 82301 -> 0 bytes .../Tutorials/images/bookstore-book-list.png | Bin 62133 -> 0 bytes .../images/bookstore-confirmation-popup.png | Bin 13523 -> 0 bytes .../bookstore-create-project-angular.png | Bin 24546 -> 0 bytes .../images/bookstore-create-project-mvc.png | Bin 181404 -> 0 bytes .../bookstore-creating-book-list-terminal.png | Bin 25327 -> 0 bytes ...okstore-creating-books-module-terminal.png | Bin 23145 -> 0 bytes .../images/bookstore-database-tables-ef.png | Bin 53560 -> 0 bytes .../bookstore-database-tables-mongodb.png | Bin 42687 -> 0 bytes .../images/bookstore-edit-button.png | Bin 94192 -> 0 bytes .../images/bookstore-empty-new-book-modal.png | Bin 104068 -> 0 bytes .../bookstore-final-actions-dropdown.png | Bin 13747 -> 0 bytes .../images/bookstore-generate-state-books.png | Bin 17624 -> 0 bytes .../bookstore-initial-book-list-page.png | Bin 11811 -> 0 bytes ...okstore-initial-books-page-with-layout.png | Bin 10922 -> 0 bytes .../bookstore-localization-files-v2.png | Bin 6123 -> 0 bytes .../bookstore-migrations-applied-angular.png | Bin 69174 -> 0 bytes .../bookstore-migrations-applied-mvc.png | Bin 199590 -> 0 bytes .../images/bookstore-new-book-button.png | Bin 80262 -> 0 bytes .../images/bookstore-new-book-form-v2.png | Bin 146611 -> 0 bytes .../images/bookstore-new-book-form.png | Bin 134689 -> 0 bytes .../images/bookstore-new-menu-item.png | Bin 6087 -> 0 bytes ...bookstore-open-package-manager-console.png | Bin 123776 -> 0 bytes .../bookstore-pmc-add-book-migration-v2.png | Bin 34181 -> 0 bytes .../bookstore-service-terminal-output.png | Bin 17888 -> 0 bytes .../bookstore-solution-structure-angular.png | Bin 11845 -> 0 bytes .../bookstore-solution-structure-mvc.png | Bin 12919 -> 0 bytes .../bookstore-start-project-angular.png | Bin 40858 -> 0 bytes .../images/bookstore-start-project-mvc.png | Bin 144467 -> 0 bytes .../bookstore-swagger-book-dto-properties.png | Bin 44547 -> 0 bytes .../Tutorials/images/bookstore-swagger.png | Bin 829976 -> 0 bytes .../bookstore-test-projects-angular.png | Bin 13218 -> 0 bytes .../images/bookstore-test-projects-mvc.png | Bin 6864 -> 0 bytes ...tore-update-database-after-book-entity.png | Bin 76838 -> 0 bytes .../images/generate-proxy-command.png | Bin 88318 -> 0 bytes .../Tutorials/images/generated-proxies.png | Bin 130602 -> 0 bytes .../images/mozilla-self-signed-cert-error.png | Bin 42949 -> 0 bytes .../UI/Angular/Component-Replacement.md | 2 +- docs/zh-Hans/UI/Angular/Config-State.md | 15 +- .../UI/Angular/Confirmation-Service.md | 181 --- docs/zh-Hans/UI/Angular/Content-Strategy.md | 2 +- docs/zh-Hans/UI/Angular/Context-Strategy.md | 2 +- .../UI/Angular/Dom-Insertion-Service.md | 10 - docs/zh-Hans/UI/Angular/Lazy-Load-Service.md | 2 +- docs/zh-Hans/UI/Angular/Loading-Strategy.md | 95 -- docs/zh-Hans/UI/Angular/Localization.md | 140 +- docs/zh-Hans/UI/Angular/Modifying-the-Menu.md | 197 --- .../UI/Angular/Permission-Management.md | 4 +- .../zh-Hans/UI/Angular/Projection-Strategy.md | 179 --- docs/zh-Hans/UI/Angular/Service-Proxies.md | 67 +- docs/zh-Hans/UI/Angular/Toaster-Service.md | 155 -- .../UI/Angular/images/confirmation.png | Bin 26919 -> 0 bytes .../UI/Angular/images/custom-settings.png | Bin 8342 -> 30621 bytes .../generated-files-via-generate-proxy.png | Bin 240566 -> 0 bytes .../images/navigation-menu-after-patching.png | Bin 36214 -> 0 bytes .../images/navigation-menu-search-input.png | Bin 22575 -> 0 bytes .../navigation-menu-via-app-routing.png | Bin 28336 -> 0 bytes .../navigation-menu-via-config-state.png | Bin 45536 -> 0 bytes docs/zh-Hans/UI/Angular/images/toast.png | Bin 20291 -> 0 bytes .../UI/AspNetCore/Bundling-Minification.md | 2 +- .../AspNetCore/Tag-Helpers/Progress-Bars.md | 2 +- docs/zh-Hans/UI/Common/Utils/Linked-List.md | 22 +- docs/zh-Hans/Validation.md | 4 +- docs/zh-Hans/Virtual-File-System.md | 2 +- docs/zh-Hans/docs-nav.json | 35 +- docs/zh-Hans/docs-params.json | 28 - framework/Volo.Abp.sln | 23 +- .../ApplicationConfigurationDto.cs | 3 - ...ApplicationLocalizationConfigurationDto.cs | 2 - .../CachedObjectExtensionsDtoService.cs | 178 --- .../ObjectExtending/EntityExtensionDto.cs | 14 - .../ExtensionPropertyApiCreateDto.cs | 13 - .../ExtensionPropertyApiDto.cs | 23 - .../ExtensionPropertyApiGetDto.cs | 13 - .../ExtensionPropertyApiUpdateDto.cs | 13 - .../ExtensionPropertyAttributeDto.cs | 36 - .../ObjectExtending/ExtensionPropertyDto.cs | 25 - .../ObjectExtending/ExtensionPropertyUiDto.cs | 12 - .../ExtensionPropertyUiFormDto.cs | 10 - .../ExtensionPropertyUiTableDto.cs | 10 - .../ICachedObjectExtensionsDtoService.cs | 7 - .../ObjectExtending/LocalizableStringDto.cs | 21 - .../ObjectExtensionConfigurationDto.cs | 13 - .../ObjectExtending/ObjectExtensionsDto.cs | 11 - .../Form/AbpDynamicformTagHelperService.cs | 11 +- .../TagHelpers/Form/AbpInputTagHelper.cs | 3 - .../Form/AbpInputTagHelperService.cs | 18 +- .../Form/AbpRadioInputTagHelperService.cs | 5 +- .../Form/AbpSelectTagHelperService.cs | 9 +- .../TagHelpers/Form/FormGroupItem.cs | 2 - .../Abp/MultiTenancy/AbpTenantController.cs | 3 - .../Mvc/UI/MultiTenancy/Localization/de.json | 12 - .../Mvc/UI/MultiTenancy/Localization/nl.json | 12 - .../Localization/{pl-PL.json => pl.json} | 2 +- .../SharedThemeGlobalScriptContributor.cs | 1 - .../Components/DefaultBrandingProvider.cs | 2 - .../Components/IBrandingProvider.cs | 8 - .../PageToolbars/AbpPageToolbarOptions.cs | 31 - .../PageToolbars/IPageToolbarContributor.cs | 9 - .../PageToolbars/IPageToolbarManager.cs | 9 - .../PageToolbars/PageToolbar.cs | 17 - .../PageToolbarContributionContext.cs | 27 - .../PageToolbars/PageToolbarContributor.cs | 9 - .../PageToolbarContributorList.cs | 8 - .../PageToolbars/PageToolbarDictionary.cs | 9 - .../PageToolbars/PageToolbarExtensions.cs | 84 - .../PageToolbars/PageToolbarItem.cs | 26 - .../PageToolbars/PageToolbarItemList.cs | 9 - .../PageToolbars/PageToolbarManager.cs | 44 - .../SimplePageToolbarContributor.cs | 52 - .../AbpPageToolbarViewComponent.cs | 22 - .../AbpPageToolbarButtonViewComponent.cs | 82 - .../AbpPageToolbar/Button/Default.cshtml | 13 - .../Components/AbpPageToolbar/Default.cshtml | 5 - .../AbpPageToolbar/_ViewImports.cshtml | 4 - .../datatables/datatables-extensions.js | 77 +- .../ui-extensions.js | 193 --- .../AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs | 21 +- .../AspNetCore/Mvc/AbpMvcOptionsExtensions.cs | 2 - .../AbpApiDefinitionController.cs | 2 - .../AbpApplicationConfigurationAppService.cs | 45 +- .../AbpApplicationConfigurationController.cs | 2 - ...pplicationConfigurationScriptController.cs | 2 - .../AspNetCoreApiDescriptionModelProvider.cs | 2 +- .../Localization/AbpLanguagesController.cs | 6 +- .../Mvc/Localization/GlobalizationHelper.cs | 26 + ...PropertiesDictionaryModelBinderProvider.cs | 48 - .../AbpExtraPropertyModelBinder.cs | 65 - .../ExtraPropertyBindingHelper.cs | 37 - .../Metadata/AbpModelMetadataProvider.cs | 12 +- .../AbpServiceProxyScriptController.cs | 2 - .../Validation/ValidationAttributeHelper.cs | 20 - .../AbpValidationHtmlAttributeProvider.cs | 132 -- .../ObjectExtendingPropertyInfoExtensions.cs | 98 -- .../WebContentFileProvider.cs | 22 +- .../Abp/Cli/Commands/GenerateProxyCommand.cs | 133 +- .../Volo/Abp/Cli/Commands/UpdateCommand.cs | 15 +- .../Volo/Abp/Cli/Http/CliHttpClient.cs | 56 - .../Abp/Cli/Licensing/AbpIoApiKeyService.cs | 39 +- .../Volo/Abp/Cli/NuGet/NuGetService.cs | 97 +- .../ProjectBuilding/AbpIoSourceCodeStore.cs | 1 + .../MyGetPackageListFinder.cs | 2 +- .../ProjectModification/NpmPackagesUpdater.cs | 62 +- .../VoloNugetPackagesVersionUpdater.cs | 27 +- .../AbpStringLocalizerFactoryExtensions.cs | 2 +- .../DefaultConventionalRegistrar.cs | 73 +- .../Volo/Abp/Localization/CultureHelper.cs | 32 +- .../Volo/Abp/Reflection/TypeHelper.cs | 133 -- .../Localization/Resources/AbpDdd/de.json | 6 - .../Localization/Resources/AbpDdd/nl.json | 6 - .../Volo/Abp/Domain/Entities/AggregateRoot.cs | 9 +- .../Volo.Abp.Emailing.csproj | 9 +- .../Volo/Abp/Emailing/AbpEmailingModule.cs | 51 +- .../Volo/Abp/Emailing/Localization/de.json | 23 - .../Volo/Abp/Emailing/Localization/en.json | 4 +- .../Volo/Abp/Emailing/Localization/nl.json | 23 - .../Volo/Abp/Emailing/Localization/tr.json | 25 - .../Templates/AbpEmailTemplateOptions.cs | 18 + .../Templates/DefaultEmailTemplateProvider.cs | 16 + .../Layout/en.tpl} | 2 +- .../DefaultEmailTemplates/Message/en.tpl | 1 + .../Abp/Emailing/Templates/EmailTemplate.cs | 42 + .../Templates/EmailTemplateContributorList.cs | 22 + .../Templates/EmailTemplateDefinition.cs | 36 + .../EmailTemplateDefinitionContext.cs | 38 + .../EmailTemplateDefinitionDictionary.cs | 22 + .../EmailTemplateDefinitionManager.cs | 74 + .../EmailTemplateDefinitionProvider.cs | 9 + .../EmailTemplateInitializationContext.cs | 18 + .../Templates/EmailTemplateProvider.cs | 121 ++ .../Templates/IEmailTemplateContributor.cs | 9 + .../IEmailTemplateDefinitionContext.cs | 9 + .../IEmailTemplateDefinitionManager.cs | 15 + .../IEmailTemplateDefinitionProvider.cs | 7 + .../Templates/IEmailTemplateProvider.cs | 11 + .../Abp/Emailing/Templates/ITemplateRender.cs | 9 + .../Volo/Abp/Emailing/Templates/Message.tpl | 1 - ...StandardEmailTemplateDefinitionProvider.cs | 28 - .../Templates/StandardEmailTemplates.cs | 4 +- .../Abp/Emailing/Templates/TemplateRender.cs | 15 + .../EmailTemplateDefinitionExtensions.cs | 19 + ...pleVirtualFilesEmailTemplateContributor.cs | 68 + ...ngleVirtualFileEmailTemplateContributor.cs | 34 + .../Abp/EntityFrameworkCore/AbpDbContext.cs | 8 +- .../EntityHistory/EntityHistoryHelper.cs | 5 +- .../MethodParameterApiDescriptionModel.cs | 5 +- .../Abp/Http/Modeling/ModelingTypeHelper.cs | 127 ++ .../Modeling/ParameterApiDescriptionModel.cs | 5 +- .../Modeling/PropertyApiDescriptionModel.cs | 12 +- .../ReturnValueApiDescriptionModel.cs | 5 +- .../Http/Modeling/TypeApiDescriptionModel.cs | 3 +- .../AbpStringLocalizerFactoryExtensions.cs | 11 - ...alizerFactoryWithDefaultResourceSupport.cs | 10 - ...ameWithLocalizableDisplayNameExtensions.cs | 36 - .../IHasNameWithLocalizableDisplayName.cs | 13 - .../AbpDictionaryBasedStringLocalizer.cs | 11 +- .../Localization/AbpLocalizationOptions.cs | 8 +- .../Localization/AbpStringLocalizerFactory.cs | 47 +- .../Abp/Localization/LocalizableString.cs | 9 +- .../LocalizationResourceContributorList.cs | 2 +- .../Resources/AbpLocalization/de.json | 7 - .../Resources/AbpLocalization/nl.json | 7 - .../Abp/Localization/TemplateLocalizer.cs | 18 + .../Volo.Abp.ObjectExtending.csproj | 5 +- .../Abp/Data/HasExtraPropertiesExtensions.cs | 43 +- .../AbpObjectExtendingModule.cs | 6 - .../Abp/ObjectExtending/ExtensibleObject.cs | 12 - .../ExtensibleObjectValidator.cs | 149 +- .../EntityExtensionConfiguration.cs | 62 - .../EntityExtensionConfigurationDictionary.cs | 9 - .../ExtensionPropertyApiConfiguration.cs | 23 - ...ExtensionPropertyApiCreateConfiguration.cs | 10 - .../ExtensionPropertyApiGetConfiguration.cs | 10 - ...ExtensionPropertyApiUpdateConfiguration.cs | 10 - .../ExtensionPropertyConfiguration.cs | 66 - ...xtensionPropertyConfigurationDictionary.cs | 9 - .../ExtensionPropertyEntityConfiguration.cs | 10 - .../ExtensionPropertyUiConfiguration.cs | 23 - .../ExtensionPropertyUiFormConfiguration.cs | 10 - .../ExtensionPropertyUiTableConfiguration.cs | 10 - .../ModuleExtensionConfiguration.cs | 20 - .../ModuleExtensionConfigurationDictionary.cs | 9 - ...ensionConfigurationDictionaryExtensions.cs | 28 - .../ModuleExtensionConfigurationExtensions.cs | 24 - .../ModuleExtensionConfigurationHelper.cs | 158 -- .../ModuleObjectExtensionManagerExtensions.cs | 21 - .../ObjectExtending/ObjectExtensionManager.cs | 7 +- .../ObjectExtensionManagerExtensions.cs | 51 - .../ObjectExtensionPropertyInfo.cs | 16 +- .../ObjectExtensionPropertyInfoExtensions.cs | 17 - ...bjectExtensionPropertyValidationContext.cs | 1 - .../Volo.Abp.TextTemplating/FodyWeavers.xml | 3 - .../Volo.Abp.TextTemplating/FodyWeavers.xsd | 30 - .../Volo.Abp.TextTemplating.csproj | 26 - .../TextTemplating/AbpTextTemplatingModule.cs | 46 - .../AbpTextTemplatingOptions.cs | 16 - .../ITemplateContentContributor.cs | 9 - .../ITemplateContentProvider.cs | 22 - .../ITemplateDefinitionContext.cs | 13 - .../ITemplateDefinitionManager.cs | 17 - .../ITemplateDefinitionProvider.cs | 11 - .../Abp/TextTemplating/ITemplateRenderer.cs | 25 - .../TemplateContentContributorContext.cs | 27 - .../TextTemplating/TemplateContentProvider.cs | 170 --- .../Abp/TextTemplating/TemplateDefinition.cs | 88 -- .../TemplateDefinitionContext.cs | 43 - .../TemplateDefinitionExtensions.cs | 34 - .../TemplateDefinitionManager.cs | 86 -- .../TemplateDefinitionProvider.cs | 19 - .../Abp/TextTemplating/TemplateRenderer.cs | 166 -- .../FileInfoLocalizedTemplateContentReader.cs | 25 - .../ILocalizedTemplateContentReader.cs | 9 - .../ILocalizedTemplateContentReaderFactory.cs | 9 - .../LocalizedTemplateContentReaderFactory.cs | 83 - .../NullLocalizedTemplateContentReader.cs | 17 - .../VirtualFileTemplateContentContributor.cs | 28 - ...ualFolderLocalizedTemplateContentReader.cs | 46 - .../Navigation/Localization/Resource/de.json | 6 - .../Navigation/Localization/Resource/nl.json | 6 - .../Resource/{pl-PL.json => pl.json} | 2 +- .../Localization/Resources/AbpUi/de.json | 63 - .../Localization/Resources/AbpUi/nl.json | 63 - .../Resources/AbpUi/{pl-PL.json => pl.json} | 2 +- .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - .../Volo.Abp.Validation.Abstractions.csproj | 21 - .../AbpValidationAbstractionsModule.cs | 9 - .../Volo.Abp.Validation.csproj | 1 - .../Abp/Validation/AbpValidationException.cs | 0 .../Abp/Validation/AbpValidationModule.cs | 1 - .../Abp/Validation/IHasValidationErrors.cs | 0 .../Volo/Abp/Validation/Localization/cs.json | 4 +- .../Volo/Abp/Validation/Localization/de.json | 34 - .../Volo/Abp/Validation/Localization/en.json | 4 +- .../Volo/Abp/Validation/Localization/es.json | 4 +- .../Volo/Abp/Validation/Localization/nl.json | 34 - .../Localization/{pl-PL.json => pl.json} | 4 +- .../Abp/Validation/Localization/pt-BR.json | 4 +- .../Volo/Abp/Validation/Localization/ru.json | 4 +- .../Volo/Abp/Validation/Localization/tr.json | 4 +- .../Volo/Abp/Validation/Localization/vi.json | 2 +- .../Abp/Validation/Localization/zh-Hans.json | 4 +- .../Abp/Validation/Localization/zh-Hant.json | 4 +- .../FileProviders/AbpFileInfoExtensions.cs | 24 - .../DictionaryBasedFileProvider.cs | 4 +- .../VirtualFilePathHelper.cs | 9 +- .../Mvc/Localization/Resource/de.json | 7 - .../Mvc/Localization/Resource/nl.json | 7 - .../Resource/{pl-PL.json => pl.json} | 2 +- .../ExtraPropertyBindingHelper_Tests.cs | 48 - ...ithDisableAuditingAndPropertyHasAudited.cs | 6 +- .../Volo/Abp/Auditing/Auditing_Tests.cs | 39 +- ...AutoMapperExtensibleDtoExtensions_Tests.cs | 4 +- .../DependencyInjection_Tests.cs | 22 +- .../Volo/Abp/Reflection/TypeHelper_Tests.cs | 9 - .../Volo.Abp.Emailing.Tests.csproj | 7 + .../Abp/Emailing/AbpEmailingTestModule.cs | 10 + .../Abp/Emailing/EmailTemplateRender_Tests.cs | 65 + .../Abp/Emailing/EmailTemplateStore_Tests.cs | 54 + .../Localization/AbpEmailingTestResource.cs | 10 + .../Volo/Abp/Emailing/Localization/cs.json | 6 + .../Volo/Abp/Emailing/Localization/de.json | 6 - .../Volo/Abp/Emailing}/Localization/en.json | 4 +- .../Volo/Abp/Emailing/Localization/nl.json | 6 - .../Localization/{pl-PL.json => pl.json} | 2 +- .../Volo/Abp/Emailing/Localization/pt-BR.json | 6 + .../Volo/Abp/Emailing}/Localization/tr.json | 4 +- .../Volo/Abp/Emailing/Localization/vi.json | 6 + .../Abp/Emailing/Localization/zh-Hant.json | 6 + .../Abp/Emailing/TestEmailTemplateProvider.cs | 24 + .../Emailing/TestTemplates/Template1/en.tpl | 4 + .../Emailing/TestTemplates/Template1/tr.tpl | 4 + .../Emailing/TestTemplates/Template2/en.tpl | 4 + .../TestTemplates/Template3/Template.tpl | 1 + .../Abp/Localization/AbpLocalization_Tests.cs | 10 - .../Localization/TemplateLocalizer_Tests.cs | 63 + .../TestResources/Base/CountryNames/de.json | 7 - .../TestResources/Base/CountryNames/nl.json | 7 - .../Base/CountryNames/{pl-PL.json => pl.json} | 2 +- .../TestResources/Base/Validation/de.json | 7 - .../TestResources/Base/Validation/nl.json | 7 - .../Base/Validation/{pl-PL.json => pl.json} | 2 +- .../Localization/TestResources/Source/de.json | 11 - .../Localization/TestResources/Source/nl.json | 11 - .../Source/{pl-PL.json => pl.json} | 2 +- .../TestResources/SourceExt/de.json | 8 - .../TestResources/SourceExt/nl.json | 6 - .../SourceExt/{pl-PL.json => pl.json} | 2 +- .../AbpObjectExtendingTestModule.cs | 2 +- .../ExtensibleObjectValidator_Tests.cs | 89 +- .../ObjectExtending/ExtensibleObject_Tests.cs | 37 - ...opertiesObjectExtendingExtensions_Tests.cs | 8 +- .../TestObjects/ExtensibleTestPerson.cs | 9 - .../Volo.Abp.TextTemplating.Tests.csproj | 25 - .../AbpTextTemplatingOptions_Tests.cs | 24 - .../AbpTextTemplatingTestBase.cs | 12 - .../AbpTextTemplatingTestModule.cs | 32 - .../Localization/TestLocalizationSource.cs | 6 - .../SampleTemplates/ForgotPasswordEmail.tpl | 1 - .../SampleTemplates/TestTemplateLayout1.tpl | 1 - .../SampleTemplates/WelcomeEmail/en.tpl | 1 - .../SampleTemplates/WelcomeEmail/tr.tpl | 1 - .../TextTemplating/TemplateDefinitionTests.cs | 41 - .../TextTemplating/TemplateRenderer_Tests.cs | 108 -- .../TestTemplateDefinitionProvider.cs | 32 - .../Volo/Abp/TextTemplating/TestTemplates.cs | 9 - .../VirtualFileTemplateContributor_Tests.cs | 49 - .../VirtualFileProvider_Tests.cs | 18 +- .../Account/Localization/Resources/de.json | 45 - .../Account/Localization/Resources/nl.json | 45 - .../Resources/{pl-PL.json => pl.json} | 2 +- .../IdentityServerSupportedLoginModel.cs | 12 +- .../Account/Controllers/AccountController.cs | 2 +- ...uditLoggingModuleExtensionConfiguration.cs | 35 - ...ensionConfigurationDictionaryExtensions.cs | 18 - .../AuditLoggingModuleExtensionConsts.cs | 16 - .../AbpAuditLoggingDomainModule.cs | 21 - .../Blogging/ApplicationContracts/de.json | 14 - .../Blogging/ApplicationContracts/nl.json | 14 - .../{pl-PL.json => pl.json} | 2 +- .../Blogging/Localization/Resources/de.json | 49 - .../Blogging/Localization/Resources/nl.json | 49 - .../Resources/{pl-PL.json => pl.json} | 2 +- .../BloggingTwitterOptions.cs | 12 - .../Volo.Blogging.Web/BloggingUrlOptions.cs | 3 + .../Volo.Blogging.Web/BloggingWebModule.cs | 13 - ...criptBundleContributorBloggingExtension.cs | 20 - ...StyleBundleContributorBloggingExtension.cs | 17 - .../Pages/Blogs/BloggingPage.cs | 33 +- .../Pages/Blogs/Posts/Detail.cshtml | 22 +- .../Pages/Blogs/Posts/Edit.cshtml | 2 +- .../Pages/Blogs/Posts/New.cshtml | 2 +- .../Shared/Styles/_bootstrap-overwrite.scss | 4 +- .../Pages/Blogs/Shared/Styles/blog.css | 4 +- .../Pages/Blogs/Shared/Styles/blog.min.css | 2 +- .../Pages/Blogs/Shared/Styles/blog.scss | 2 +- .../Volo.Blogging.Web.csproj | 4 +- .../Resources/VoloDocs/Web/de.json | 10 - .../Resources/VoloDocs/Web/nl.json | 10 - .../VoloDocs/Web/{pl-PL.json => pl.json} | 2 +- .../Documents/IDocumentAdminAppService.cs | 7 +- .../Docs/ApplicationContracts/de.json | 37 - .../Docs/ApplicationContracts/nl.json | 37 - .../{pl-PL.json => pl.json} | 2 +- .../Admin/Projects/IProjectAdminAppService.cs | 10 +- .../Volo/Docs/Admin/Projects/ReindexInput.cs | 9 - .../Documents/DocumentAdminAppService.cs | 36 +- .../Admin/Projects/ProjectAdminAppService.cs | 71 +- .../Docs/Admin/DocumentsAdminController.cs | 7 + .../Docs/Admin/ProjectsAdminController.cs | 14 - .../Pages/Docs/Admin/Projects/Index.cshtml | 4 - .../Pages/Docs/Admin/Projects/index.js | 27 +- .../Volo/Docs/Documents/DocumentAppService.cs | 2 + .../Elastic/ElasticDocumentFullSearch.cs | 44 +- .../FullSearch/Elastic/IDocumentFullSearch.cs | 6 +- .../Documents/FileSystemDocumentSource.cs | 5 - .../GitHub/Documents/GithubDocumentSource.cs | 144 +- .../Volo/Docs/Localization/Domain/de.json | 31 - .../Volo/Docs/Localization/Domain/en.json | 7 - .../Volo/Docs/Localization/Domain/nl.json | 31 - .../Domain/{pl-PL.json => pl.json} | 2 +- .../Docs/Localization/Domain/zh-Hans.json | 3 +- .../Docs/Localization/Domain/zh-Hant.json | 1 - .../HtmlConverting/HtmlNormalizer.cs | 46 - .../MarkdownDocumentToHtmlConverter.cs | 5 +- .../Pages/Documents/Project/Index.cshtml | 66 +- .../Pages/Documents/Project/Index.cshtml.cs | 74 +- .../Pages/Documents/Project/index.js | 50 +- .../Pages/Documents/Search.cshtml | 12 +- .../Default.cshtml | 28 +- .../DocumentNotFoundPageModel.cs | 15 + .../DocumentNotFoundViewComponent.cs | 26 + .../Shared/ErrorComponent/ErrorPageModel.cs | 13 - .../ErrorComponent/ErrorViewComponent.cs | 14 - .../Documents/Shared/ErrorComponent/error.js | 20 - .../Localization/Domain/de.json | 7 - .../Localization/Domain/nl.json | 7 - .../Domain/{pl-PL.json => pl.json} | 2 +- .../Volo/Abp/Identity/Localization/de.json | 104 -- .../Volo/Abp/Identity/Localization/nl.json | 104 -- .../Localization/{pl-PL.json => pl.json} | 2 +- .../IdentityModuleExtensionConfiguration.cs | 35 - ...ensionConfigurationDictionaryExtensions.cs | 18 - .../IdentityModuleExtensionConsts.cs | 16 - .../Abp/Identity/AbpIdentityDomainModule.cs | 23 - .../Localization/Resources/de.json | 12 - .../Localization/Resources/nl.json | 12 - ...ntityServerModuleExtensionConfiguration.cs | 35 - ...ensionConfigurationDictionaryExtensions.cs | 18 - .../IdentityServerModuleExtensionConsts.cs | 16 - .../AbpIdentityServerDomainModule.cs | 24 +- .../Localization/Domain/de.json | 10 - .../Localization/Domain/nl.json | 10 - .../Domain/{pl-PL.json => pl.json} | 2 +- .../Resources/AbpSettingManagement/de.json | 7 - .../Resources/AbpSettingManagement/nl.json | 7 - .../{pl-PL.json => pl.json} | 2 +- .../Abp/TenantManagement/TenantAppService.cs | 2 - .../Localization/Resources/de.json | 22 - .../Localization/Resources/nl.json | 22 - .../Resources/{pl-PL.json => pl.json} | 2 +- npm/lerna.json | 2 +- npm/ng-packs/lerna.version.json | 2 +- npm/ng-packs/package.json | 31 +- .../packages/account-config/package.json | 2 +- .../lib/services/account-config.service.ts | 9 +- npm/ng-packs/packages/account/package.json | 6 +- .../tenant-box/tenant-box.component.html | 104 +- .../tenant-box/tenant-box.component.ts | 97 +- .../packages/account/src/lib/enums/index.ts | 2 - .../account/src/lib/enums/route-names.ts | 6 - .../packages/account/src/lib/models/tenant.ts | 1 - .../packages/account/src/public-api.ts | 2 +- npm/ng-packs/packages/core/package.json | 2 +- .../packages/core/src/lib/core.module.ts | 8 - .../core/src/lib/guards/auth.guard.ts | 3 +- .../lib/models/application-configuration.ts | 25 +- .../core/src/lib/plugins/config.plugin.ts | 17 +- .../src/lib/services/localization.service.ts | 12 +- .../core/src/lib/states/config.state.ts | 56 +- .../core/src/lib/states/session.state.ts | 29 +- .../src/lib/strategies/projection.strategy.ts | 17 +- .../core/src/lib/tests/auth.guard.spec.ts | 11 +- .../lib/tests/config-state.service.spec.ts | 20 - .../core/src/lib/tests/config.state.spec.ts | 32 +- .../tests/dynamic-layout.component.spec.ts | 3 +- .../lib/tests/localization.service.spec.ts | 7 +- .../core/src/lib/tests/session.state.spec.ts | 4 +- .../packages/feature-management/package.json | 4 +- .../packages/identity-config/package.json | 2 +- .../lib/services/identity-config.service.ts | 11 +- npm/ng-packs/packages/identity/package.json | 8 +- .../packages/identity/src/lib/enums/index.ts | 2 - .../identity/src/lib/enums/route-names.ts | 6 - .../packages/identity/src/public-api.ts | 2 +- .../permission-management/package.json | 4 +- .../setting-management-config/package.json | 2 +- .../setting-management-config.service.ts | 3 +- .../packages/setting-management/package.json | 6 +- .../setting-management/src/lib/enums/index.ts | 2 - .../src/lib/enums/route-names.ts | 3 - .../setting-management/src/public-api.ts | 2 +- .../tenant-management-config/package.json | 2 +- .../tenant-management-config.service.ts | 41 +- .../packages/tenant-management/package.json | 8 +- .../tenant-management/src/lib/enums/index.ts | 2 - .../src/lib/enums/route-names.ts | 5 - .../tenant-management/src/public-api.ts | 2 +- .../packages/theme-basic/package.json | 4 +- .../application-layout.component.html | 213 ++- .../application-layout.component.ts | 159 +- .../theme-basic/src/lib/components/index.ts | 3 - .../src/lib/components/logo/logo.component.ts | 29 - .../nav-items/nav-items.component.html | 81 - .../nav-items/nav-items.component.ts | 125 -- .../components/routes/routes.component.html | 111 -- .../lib/components/routes/routes.component.ts | 51 - .../theme-basic/src/lib/enums/components.ts | 3 - .../theme-basic/src/lib/enums/index.ts | 2 - .../src/lib/enums/navigation-element-names.ts | 4 - .../src/lib/services/layout-state.service.ts | 2 +- .../theme-basic/src/lib/theme-basic.module.ts | 15 +- .../packages/theme-basic/src/public-api.ts | 3 +- .../packages/theme-shared/package.json | 4 +- .../breadcrumb/breadcrumb.component.ts | 16 +- .../confirmation/confirmation.component.html | 30 +- .../confirmation/confirmation.component.ts | 25 +- .../toast-container.component.ts | 10 +- .../src/lib/handlers/error.handler.ts | 2 +- .../src/lib/services/confirmation.service.ts | 29 +- .../src/lib/services/toaster.service.ts | 2 +- .../lib/tests/confirmation.service.spec.ts | 19 - .../packages/theme-shared/src/public-api.ts | 1 - npm/ng-packs/scripts/build.ts | 10 +- .../scripts/install-new-dependencies.ts | 2 +- npm/ng-packs/scripts/prod-build.ts | 5 - npm/ng-packs/yarn.lock | 402 ++--- npm/packs/anchor-js/package.json | 6 +- .../package.json | 6 +- .../package.json | 32 +- npm/packs/aspnetcore.mvc.ui/package.json | 4 +- npm/packs/blogging/package.json | 11 +- npm/packs/bootstrap-datepicker/package.json | 4 +- npm/packs/bootstrap/package.json | 6 +- npm/packs/chart.js/package.json | 4 +- npm/packs/clipboard/package.json | 6 +- npm/packs/codemirror/package.json | 6 +- npm/packs/core/package.json | 6 +- npm/packs/core/src/abp.js | 32 +- npm/packs/datatables.net-bs4/package.json | 6 +- npm/packs/datatables.net/package.json | 6 +- npm/packs/docs/package.json | 14 +- npm/packs/flag-icon-css/package.json | 4 +- npm/packs/font-awesome/package.json | 6 +- npm/packs/highlight.js/package.json | 6 +- npm/packs/jquery-form/package.json | 6 +- .../package.json | 6 +- npm/packs/jquery-validation/package.json | 6 +- npm/packs/jquery/package.json | 6 +- npm/packs/lodash/package.json | 6 +- npm/packs/luxon/package.json | 4 +- .../package.json | 6 +- npm/packs/markdown-it/package.json | 6 +- npm/packs/owl.carousel/package.json | 6 +- npm/packs/popper.js/package.json | 6 +- npm/packs/prismjs/package.json | 6 +- npm/packs/select2/package.json | 6 +- npm/packs/sweetalert/package.json | 6 +- npm/packs/timeago/package.json | 6 +- npm/packs/toastr/package.json | 6 +- npm/packs/tui-editor/package.json | 12 +- npm/packs/utils/package.json | 4 +- .../projects/utils/src/lib/linked-list.ts | 4 +- nupkg/common.ps1 | 2 - .../AuthServer.Host/BrandingProvider.cs | 5 +- .../BackendAdminApp.Host/BrandingProvider.cs | 5 +- .../PublicWebSite.Host/BrandingProvider.cs | 5 +- .../BloggingService.Host.csproj | 3 +- .../BloggingServiceHostModule.cs | 6 +- .../ProductService.Host.csproj | 3 +- .../ProductServiceHostModule.cs | 4 +- .../{pl-PL.json => pl.json} | 2 +- .../Localization/Domain/pl-PL.json | 6 - .../Localization/Domain/pl.json | 6 + .../ProductManagement/{pl-PL.json => pl.json} | 2 +- templates/app/angular/package.json | 11 +- .../MyProjectName/{pl-PL.json => pl.json} | 2 +- .../MyProjectNameDomainSharedModule.cs | 2 - .../Data/MyProjectNameDbMigrationService.cs | 54 +- .../MyProjectNameHttpApiHostModule.cs | 11 - .../package.json | 2 +- .../wwwroot/libs/abp/core/abp.js | 32 +- .../libs/abp/utils/abp-utils.umd.js.map | 2 +- .../libs/abp/utils/abp-utils.umd.min.js.map | 2 +- .../yarn.lock | 236 +-- .../MyProjectNameIdentityServerModule.cs | 10 - .../package.json | 2 +- .../wwwroot/libs/abp/core/abp.js | 32 +- .../libs/abp/utils/abp-utils.umd.js.map | 2 +- .../libs/abp/utils/abp-utils.umd.min.js.map | 2 +- .../yarn.lock | 236 +-- .../package.json | 2 +- .../wwwroot/libs/abp/core/abp.js | 32 +- .../libs/abp/utils/abp-utils.umd.js.map | 2 +- .../libs/abp/utils/abp-utils.umd.min.js.map | 2 +- .../yarn.lock | 236 +-- .../package.json | 2 +- .../wwwroot/libs/abp/core/abp.js | 32 +- .../libs/abp/utils/abp-utils.umd.js.map | 2 +- .../libs/abp/utils/abp-utils.umd.min.js.map | 2 +- .../MyCompanyName.MyProjectName.Web/yarn.lock | 236 +-- templates/module/angular/package.json | 10 +- .../my-project-name-config/package.json | 2 +- .../projects/my-project-name/package.json | 2 +- .../package.json | 2 +- .../wwwroot/libs/abp/core/abp.js | 32 +- .../libs/abp/utils/abp-utils.umd.js.map | 2 +- .../libs/abp/utils/abp-utils.umd.min.js.map | 2 +- .../yarn.lock | 236 +-- .../package.json | 2 +- .../wwwroot/libs/abp/core/abp.js | 32 +- .../libs/abp/utils/abp-utils.umd.js.map | 2 +- .../libs/abp/utils/abp-utils.umd.min.js.map | 2 +- .../yarn.lock | 236 +-- .../package.json | 2 +- .../wwwroot/libs/abp/core/abp.js | 32 +- .../libs/abp/utils/abp-utils.umd.js.map | 2 +- .../libs/abp/utils/abp-utils.umd.min.js.map | 2 +- .../yarn.lock | 236 +-- .../Localization/MyProjectName/pl-PL.json | 6 - .../Localization/MyProjectName/pl.json | 6 + 706 files changed, 4500 insertions(+), 14760 deletions(-) delete mode 100644 docs/en/Tutorials/images/generate-proxy-command.png delete mode 100644 docs/en/Tutorials/images/generated-proxies.png delete mode 100644 docs/en/UI/Angular/Confirmation-Service.md delete mode 100644 docs/en/UI/Angular/Modifying-the-Menu.md delete mode 100644 docs/en/UI/Angular/Toaster-Service.md delete mode 100644 docs/en/UI/Angular/images/confirmation.png delete mode 100644 docs/en/UI/Angular/images/navigation-menu-after-patching.png delete mode 100644 docs/en/UI/Angular/images/navigation-menu-search-input.png delete mode 100644 docs/en/UI/Angular/images/navigation-menu-via-app-routing.png delete mode 100644 docs/en/UI/Angular/images/navigation-menu-via-config-state.png delete mode 100644 docs/en/UI/Angular/images/toast.png delete mode 100644 docs/zh-Hans/Getting-Started.md delete mode 100644 docs/zh-Hans/Specifications.md rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-add-create-dialog-v2.png (100%) rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-add-edit-dialog.png (100%) rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-add-index-page-v2.png (100%) rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-appservice-tests.png (100%) create mode 100644 docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-book-list-2.png create mode 100644 docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-book-list.png rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-books-table-actions.png (100%) rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-books-table.png (100%) rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-create-dialog-2.png (100%) rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-create-dialog.png (100%) create mode 100644 docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-template.png rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-homepage.png (100%) rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-index-js-file-v2.png (100%) create mode 100644 docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-localization-files-v2.png rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-menu-items.png (100%) create mode 100644 docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-new-book-button.png create mode 100644 docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration-v2.png rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-pmc-add-book-migration.png (100%) create mode 100644 docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-swagger.png rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-test-js-proxy-getlist-network.png (100%) rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-test-js-proxy-getlist.png (100%) rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-test-projects-v2.png (100%) rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-user-management.png (100%) rename docs/zh-Hans/Tutorials/{ => AspNetCore-Mvc}/images/bookstore-visual-studio-solution-v3.png (100%) delete mode 100644 docs/zh-Hans/Tutorials/Part-1.md delete mode 100644 docs/zh-Hans/Tutorials/Part-2.md delete mode 100644 docs/zh-Hans/Tutorials/Part-3.md delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-actions-buttons.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-angular-file-tree.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-book-list-2.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-book-list.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-confirmation-popup.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-create-project-angular.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-create-project-mvc.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-creating-book-list-terminal.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-creating-books-module-terminal.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-database-tables-ef.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-database-tables-mongodb.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-edit-button.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-empty-new-book-modal.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-final-actions-dropdown.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-generate-state-books.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-initial-book-list-page.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-initial-books-page-with-layout.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-localization-files-v2.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-migrations-applied-angular.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-migrations-applied-mvc.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-new-book-button.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-new-book-form-v2.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-new-book-form.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-new-menu-item.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-open-package-manager-console.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-pmc-add-book-migration-v2.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-service-terminal-output.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-solution-structure-angular.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-solution-structure-mvc.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-start-project-angular.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-start-project-mvc.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-swagger-book-dto-properties.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-swagger.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-test-projects-angular.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-test-projects-mvc.png delete mode 100644 docs/zh-Hans/Tutorials/images/bookstore-update-database-after-book-entity.png delete mode 100644 docs/zh-Hans/Tutorials/images/generate-proxy-command.png delete mode 100644 docs/zh-Hans/Tutorials/images/generated-proxies.png delete mode 100644 docs/zh-Hans/Tutorials/images/mozilla-self-signed-cert-error.png delete mode 100644 docs/zh-Hans/UI/Angular/Confirmation-Service.md delete mode 100644 docs/zh-Hans/UI/Angular/Loading-Strategy.md delete mode 100644 docs/zh-Hans/UI/Angular/Modifying-the-Menu.md delete mode 100644 docs/zh-Hans/UI/Angular/Toaster-Service.md delete mode 100644 docs/zh-Hans/UI/Angular/images/confirmation.png delete mode 100644 docs/zh-Hans/UI/Angular/images/generated-files-via-generate-proxy.png delete mode 100644 docs/zh-Hans/UI/Angular/images/navigation-menu-after-patching.png delete mode 100644 docs/zh-Hans/UI/Angular/images/navigation-menu-search-input.png delete mode 100644 docs/zh-Hans/UI/Angular/images/navigation-menu-via-app-routing.png delete mode 100644 docs/zh-Hans/UI/Angular/images/navigation-menu-via-config-state.png delete mode 100644 docs/zh-Hans/UI/Angular/images/toast.png delete mode 100644 docs/zh-Hans/docs-params.json delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/CachedObjectExtensionsDtoService.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/EntityExtensionDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ExtensionPropertyApiCreateDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ExtensionPropertyApiDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ExtensionPropertyApiGetDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ExtensionPropertyApiUpdateDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ExtensionPropertyAttributeDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ExtensionPropertyDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ExtensionPropertyUiDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ExtensionPropertyUiFormDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ExtensionPropertyUiTableDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ICachedObjectExtensionsDtoService.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/LocalizableStringDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ObjectExtensionConfigurationDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ObjectExtensionsDto.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/de.json delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/nl.json rename framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/{pl-PL.json => pl.json} (92%) delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/AbpPageToolbarOptions.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/IPageToolbarContributor.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/IPageToolbarManager.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/PageToolbar.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/PageToolbarContributionContext.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/PageToolbarContributor.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/PageToolbarContributorList.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/PageToolbarDictionary.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/PageToolbarExtensions.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/PageToolbarItem.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/PageToolbarItemList.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/PageToolbarManager.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/PageToolbars/SimplePageToolbarContributor.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Pages/Shared/Components/AbpPageToolbar/AbpPageToolbarViewComponent.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Pages/Shared/Components/AbpPageToolbar/Button/AbpPageToolbarButtonViewComponent.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Pages/Shared/Components/AbpPageToolbar/Button/Default.cshtml delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Pages/Shared/Components/AbpPageToolbar/Default.cshtml delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Pages/Shared/Components/AbpPageToolbar/_ViewImports.cshtml delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/ui-extensions.js create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Localization/GlobalizationHelper.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ModelBinding/AbpExtraPropertiesDictionaryModelBinderProvider.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ModelBinding/AbpExtraPropertyModelBinder.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ModelBinding/ExtraPropertyBindingHelper.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Validation/ValidationAttributeHelper.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ViewFeatures/AbpValidationHtmlAttributeProvider.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/ObjectExtending/ObjectExtendingPropertyInfoExtensions.cs delete mode 100644 framework/src/Volo.Abp.Ddd.Application.Contracts/Volo/Abp/Application/Localization/Resources/AbpDdd/de.json delete mode 100644 framework/src/Volo.Abp.Ddd.Application.Contracts/Volo/Abp/Application/Localization/Resources/AbpDdd/nl.json delete mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/de.json delete mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/nl.json delete mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/tr.json create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/AbpEmailTemplateOptions.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/DefaultEmailTemplateProvider.cs rename framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/{Layout.tpl => DefaultEmailTemplates/Layout/en.tpl} (84%) create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/DefaultEmailTemplates/Message/en.tpl create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/EmailTemplate.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/EmailTemplateContributorList.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/EmailTemplateDefinition.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/EmailTemplateDefinitionContext.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/EmailTemplateDefinitionDictionary.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/EmailTemplateDefinitionManager.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/EmailTemplateDefinitionProvider.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/EmailTemplateInitializationContext.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/EmailTemplateProvider.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/IEmailTemplateContributor.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/IEmailTemplateDefinitionContext.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/IEmailTemplateDefinitionManager.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/IEmailTemplateDefinitionProvider.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/IEmailTemplateProvider.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/ITemplateRender.cs delete mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/Message.tpl delete mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/StandardEmailTemplateDefinitionProvider.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/TemplateRender.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/VirtualFiles/EmailTemplateDefinitionExtensions.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/VirtualFiles/MultipleVirtualFilesEmailTemplateContributor.cs create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Templates/VirtualFiles/SingleVirtualFileEmailTemplateContributor.cs create mode 100644 framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ModelingTypeHelper.cs delete mode 100644 framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/AbpStringLocalizerFactoryExtensions.cs delete mode 100644 framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/IAbpStringLocalizerFactoryWithDefaultResourceSupport.cs delete mode 100644 framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/HasNameWithLocalizableDisplayNameExtensions.cs delete mode 100644 framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/IHasNameWithLocalizableDisplayName.cs delete mode 100644 framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/de.json delete mode 100644 framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/nl.json create mode 100644 framework/src/Volo.Abp.Localization/Volo/Abp/Localization/TemplateLocalizer.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/EntityExtensionConfiguration.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/EntityExtensionConfigurationDictionary.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyApiConfiguration.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyApiCreateConfiguration.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyApiGetConfiguration.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyApiUpdateConfiguration.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyConfiguration.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyConfigurationDictionary.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyEntityConfiguration.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyUiConfiguration.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyUiFormConfiguration.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ExtensionPropertyUiTableConfiguration.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfiguration.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfigurationDictionary.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfigurationDictionaryExtensions.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfigurationExtensions.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleExtensionConfigurationHelper.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleObjectExtensionManagerExtensions.cs delete mode 100644 framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionPropertyInfoExtensions.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/FodyWeavers.xml delete mode 100644 framework/src/Volo.Abp.TextTemplating/FodyWeavers.xsd delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo.Abp.TextTemplating.csproj delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/AbpTextTemplatingModule.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/AbpTextTemplatingOptions.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/ITemplateContentContributor.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/ITemplateContentProvider.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/ITemplateDefinitionContext.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/ITemplateDefinitionManager.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/ITemplateDefinitionProvider.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/ITemplateRenderer.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TemplateContentContributorContext.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TemplateContentProvider.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TemplateDefinition.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TemplateDefinitionContext.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TemplateDefinitionExtensions.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TemplateDefinitionManager.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TemplateDefinitionProvider.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TemplateRenderer.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/VirtualFiles/FileInfoLocalizedTemplateContentReader.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/VirtualFiles/ILocalizedTemplateContentReader.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/VirtualFiles/ILocalizedTemplateContentReaderFactory.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/VirtualFiles/LocalizedTemplateContentReaderFactory.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/VirtualFiles/NullLocalizedTemplateContentReader.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/VirtualFiles/VirtualFileTemplateContentContributor.cs delete mode 100644 framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/VirtualFiles/VirtualFolderLocalizedTemplateContentReader.cs delete mode 100644 framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/de.json delete mode 100644 framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/nl.json rename framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/{pl-PL.json => pl.json} (72%) delete mode 100644 framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/de.json delete mode 100644 framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/nl.json rename framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/{pl-PL.json => pl.json} (98%) delete mode 100644 framework/src/Volo.Abp.Validation.Abstractions/FodyWeavers.xml delete mode 100644 framework/src/Volo.Abp.Validation.Abstractions/FodyWeavers.xsd delete mode 100644 framework/src/Volo.Abp.Validation.Abstractions/Volo.Abp.Validation.Abstractions.csproj delete mode 100644 framework/src/Volo.Abp.Validation.Abstractions/Volo/Abp/Validation/AbpValidationAbstractionsModule.cs rename framework/src/{Volo.Abp.Validation.Abstractions => Volo.Abp.Validation}/Volo/Abp/Validation/AbpValidationException.cs (100%) rename framework/src/{Volo.Abp.Validation.Abstractions => Volo.Abp.Validation}/Volo/Abp/Validation/IHasValidationErrors.cs (100%) delete mode 100644 framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/de.json delete mode 100644 framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/nl.json rename framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/{pl-PL.json => pl.json} (95%) delete mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/de.json delete mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/nl.json rename framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/{pl-PL.json => pl.json} (79%) delete mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ModelBinding/ExtraPropertyBindingHelper_Tests.cs create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/EmailTemplateRender_Tests.cs create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/EmailTemplateStore_Tests.cs create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/AbpEmailingTestResource.cs create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/cs.json delete mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/de.json rename framework/test/{Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating => Volo.Abp.Emailing.Tests/Volo/Abp/Emailing}/Localization/en.json (52%) delete mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/nl.json rename framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/{pl-PL.json => pl.json} (63%) create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/pt-BR.json rename framework/test/{Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating => Volo.Abp.Emailing.Tests/Volo/Abp/Emailing}/Localization/tr.json (50%) create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/vi.json create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/zh-Hant.json create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/TestEmailTemplateProvider.cs create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/TestTemplates/Template1/en.tpl create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/TestTemplates/Template1/tr.tpl create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/TestTemplates/Template2/en.tpl create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/TestTemplates/Template3/Template.tpl create mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TemplateLocalizer_Tests.cs delete mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/de.json delete mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/nl.json rename framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/{pl-PL.json => pl.json} (79%) delete mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/de.json delete mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/nl.json rename framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/{pl-PL.json => pl.json} (86%) delete mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/de.json delete mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/nl.json rename framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/{pl-PL.json => pl.json} (92%) delete mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/de.json delete mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/nl.json rename framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/{pl-PL.json => pl.json} (69%) delete mode 100644 framework/test/Volo.Abp.ObjectExtending.Tests/Volo/Abp/ObjectExtending/ExtensibleObject_Tests.cs delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo.Abp.TextTemplating.Tests.csproj delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/AbpTextTemplatingOptions_Tests.cs delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/AbpTextTemplatingTestBase.cs delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/AbpTextTemplatingTestModule.cs delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/Localization/TestLocalizationSource.cs delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/SampleTemplates/ForgotPasswordEmail.tpl delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/SampleTemplates/TestTemplateLayout1.tpl delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/SampleTemplates/WelcomeEmail/en.tpl delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/SampleTemplates/WelcomeEmail/tr.tpl delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/TemplateDefinitionTests.cs delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/TemplateRenderer_Tests.cs delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/TestTemplateDefinitionProvider.cs delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/TestTemplates.cs delete mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/VirtualFiles/VirtualFileTemplateContributor_Tests.cs delete mode 100644 modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/de.json delete mode 100644 modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/nl.json rename modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/{pl-PL.json => pl.json} (98%) delete mode 100644 modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/ObjectExtending/AuditLoggingModuleExtensionConfiguration.cs delete mode 100644 modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/ObjectExtending/AuditLoggingModuleExtensionConfigurationDictionaryExtensions.cs delete mode 100644 modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/ObjectExtending/AuditLoggingModuleExtensionConsts.cs delete mode 100644 modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/Resources/Blogging/ApplicationContracts/de.json delete mode 100644 modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/Resources/Blogging/ApplicationContracts/nl.json rename modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/Resources/Blogging/ApplicationContracts/{pl-PL.json => pl.json} (93%) delete mode 100644 modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/de.json delete mode 100644 modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/nl.json rename modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/{pl-PL.json => pl.json} (98%) delete mode 100644 modules/blogging/src/Volo.Blogging.Web/BloggingTwitterOptions.cs delete mode 100644 modules/blogging/src/Volo.Blogging.Web/Bundling/PrismjsScriptBundleContributorBloggingExtension.cs delete mode 100644 modules/blogging/src/Volo.Blogging.Web/Bundling/PrismjsStyleBundleContributorBloggingExtension.cs delete mode 100644 modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/de.json delete mode 100644 modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/nl.json rename modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/{pl-PL.json => pl.json} (91%) delete mode 100644 modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/de.json delete mode 100644 modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/nl.json rename modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/{pl-PL.json => pl.json} (98%) delete mode 100644 modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Projects/ReindexInput.cs delete mode 100644 modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/de.json delete mode 100644 modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/nl.json rename modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/{pl-PL.json => pl.json} (95%) rename modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/{ErrorComponent => DocumentNotFoundComponent}/Default.cshtml (55%) create mode 100644 modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/DocumentNotFoundComponent/DocumentNotFoundPageModel.cs create mode 100644 modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/DocumentNotFoundComponent/DocumentNotFoundViewComponent.cs delete mode 100644 modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/ErrorComponent/ErrorPageModel.cs delete mode 100644 modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/ErrorComponent/ErrorViewComponent.cs delete mode 100644 modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/ErrorComponent/error.js delete mode 100644 modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/de.json delete mode 100644 modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/nl.json rename modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/{pl-PL.json => pl.json} (66%) delete mode 100644 modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/de.json delete mode 100644 modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/nl.json rename modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/{pl-PL.json => pl.json} (99%) delete mode 100644 modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/ObjectExtending/IdentityModuleExtensionConfiguration.cs delete mode 100644 modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/ObjectExtending/IdentityModuleExtensionConfigurationDictionaryExtensions.cs delete mode 100644 modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/ObjectExtending/IdentityModuleExtensionConsts.cs delete mode 100644 modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/de.json delete mode 100644 modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/nl.json delete mode 100644 modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/ObjectExtending/IdentityServerModuleExtensionConfiguration.cs delete mode 100644 modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/ObjectExtending/IdentityServerModuleExtensionConfigurationDictionaryExtensions.cs delete mode 100644 modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/ObjectExtending/IdentityServerModuleExtensionConsts.cs delete mode 100644 modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/de.json delete mode 100644 modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/nl.json rename modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/{pl-PL.json => pl.json} (91%) delete mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/de.json delete mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/nl.json rename modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/{pl-PL.json => pl.json} (67%) delete mode 100644 modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/de.json delete mode 100644 modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/nl.json rename modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/{pl-PL.json => pl.json} (97%) delete mode 100644 npm/ng-packs/packages/account/src/lib/enums/index.ts delete mode 100644 npm/ng-packs/packages/account/src/lib/enums/route-names.ts delete mode 100644 npm/ng-packs/packages/identity/src/lib/enums/index.ts delete mode 100644 npm/ng-packs/packages/identity/src/lib/enums/route-names.ts delete mode 100644 npm/ng-packs/packages/setting-management/src/lib/enums/index.ts delete mode 100644 npm/ng-packs/packages/setting-management/src/lib/enums/route-names.ts delete mode 100644 npm/ng-packs/packages/tenant-management/src/lib/enums/index.ts delete mode 100644 npm/ng-packs/packages/tenant-management/src/lib/enums/route-names.ts delete mode 100644 npm/ng-packs/packages/theme-basic/src/lib/components/logo/logo.component.ts delete mode 100644 npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/nav-items.component.html delete mode 100644 npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/nav-items.component.ts delete mode 100644 npm/ng-packs/packages/theme-basic/src/lib/components/routes/routes.component.html delete mode 100644 npm/ng-packs/packages/theme-basic/src/lib/components/routes/routes.component.ts delete mode 100644 npm/ng-packs/packages/theme-basic/src/lib/enums/index.ts delete mode 100644 npm/ng-packs/packages/theme-basic/src/lib/enums/navigation-element-names.ts rename samples/MicroserviceDemo/modules/product/src/ProductManagement.Application.Contracts/ProductManagement/Localization/ApplicationContracts/{pl-PL.json => pl.json} (90%) delete mode 100644 samples/MicroserviceDemo/modules/product/src/ProductManagement.Domain/ProductManagement/Localization/Domain/pl-PL.json create mode 100644 samples/MicroserviceDemo/modules/product/src/ProductManagement.Domain/ProductManagement/Localization/Domain/pl.json rename samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/{pl-PL.json => pl.json} (95%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/{pl-PL.json => pl.json} (90%) delete mode 100644 templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/pl-PL.json create mode 100644 templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/pl.json diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index d0d829bbf3..a5089e06f7 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -13,11 +13,8 @@ "Permission:Edit": "Edit", "Permission:Delete": "Delete", "Permission:Create": "Create", - "Permission:Accounting": "Accounting", - "Permission:Accounting:Quotation": "Quotation", - "Permission:Accounting:Invoice": "Invoice", "Menu:Organizations": "Organizations", - "Menu:Accounting": "Accounting", + "Menu:Accounting": "Accounting", "Menu:Packages": "Packages", "NpmPackageDeletionWarningMessage": "This NPM Package will be deleted. Do you confirm that?", "NugetPackageDeletionWarningMessage": "This Nuget Package will be deleted. Do you confirm that?", @@ -97,28 +94,13 @@ "UsernameOrEmail": "Username or email", "UsernameOrEmailPlaceholder": "Username or email...", "Member": "Member", - "PurchaseOrderNo": "Purchase order no", - "QuotationDate": "Quotation date", - "CompanyName": "Company name", - "CompanyAddress": "Company address", + "QuotationPurchasedOrderNo": "Quotation Purchased Order No", + "QuotationTime": "Quotation Time", + "CompanyName": "Company Name", + "CompanyAddress": "Company Address", "Price": "Price", - "DiscountText": "Discount text", - "DiscountQuantity": "Discount quantity", - "DiscountPrice": "Discount price", - "Quotation": "Quotation", "ExtraText": "Extra Text", "ExtraAmount": "Extra Amount", - "DownloadQuotation": "Download Quotation", - "Invoice": "Invoice", - "TaxNumber": "Tax Number", - "InvoiceNumber": "Invoice Number", - "InvoiceDate": "Invoice Date", - "Quantity": "Quantity", - "AddProduct": "Add Product", - "AddProductWarning": "You need to add product!", - "TotalPrice": "Total Price", - "Generate": "Generate", - "MissingQuantityField": "The quantity field is required!", - "MissingPriceField": "The Price field is required!" + "DownloadQuotation": "Download Quotation" } } \ No newline at end of file diff --git a/common.DotSettings b/common.DotSettings index 6f40d029a7..0eb4875d49 100644 --- a/common.DotSettings +++ b/common.DotSettings @@ -20,11 +20,5 @@ False False SQL - False - False - False - False - False - False True \ No newline at end of file diff --git a/common.props b/common.props index ab7b86e3b2..19b6f81fe6 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 2.8.0 + 2.7.0 $(NoWarn);CS1591 https://abp.io/assets/abp_nupkg.png https://abp.io diff --git a/docs/en/CLI.md b/docs/en/CLI.md index 75e3e027b4..b687a5244a 100644 --- a/docs/en/CLI.md +++ b/docs/en/CLI.md @@ -135,8 +135,6 @@ abp update [options] * `--include-previews` or `-p`: Includes preview, beta and rc packages while checking the latest versions. * `--npm`: Only updates NPM packages. * `--nuget`: Only updates NuGet packages. -* `--solution-path` or `-sp`: Specify the solution path. Use the current directory by default -* `--solution-name` or `-sn`: Specify the solution name. Search `*.sln` files in the directory by default. ### switch-to-preview @@ -172,11 +170,7 @@ Some features of the CLI requires to be logged in to abp.io platform. To login w abp login ``` -```bash -abp login -p -``` - -Notice that, a new login with an already active session, overwrites the previous session. +Notice that, a new login with an already active session, will kill the previous session and creates a new one. ### logout diff --git a/docs/en/Entity-Framework-Core-Migrations.md b/docs/en/Entity-Framework-Core-Migrations.md index 00e791a94e..e0772579ec 100644 --- a/docs/en/Entity-Framework-Core-Migrations.md +++ b/docs/en/Entity-Framework-Core-Migrations.md @@ -546,8 +546,6 @@ Entity extension system solves the main problem of the extra properties: It can All you need to do is to use the `ObjectExtensionManager` to define the extra property as explained above, in the `AppRole` example. Then you can continue to use the same `GetProperty` and `SetProperty` methods defined above to get/set the related property on the entity, but this time stored as a separate field in the database. -See the [entity extension system](Customizing-Application-Modules-Extending-Entities.md) for details. - ###### Creating a New Table Instead of creating a new entity and mapping to the same table, you can also create **your own table** to store your properties. You typically duplicate some values of the original entity. For example, you can add `Name` field to your own table which is a duplication of the `Name` field in the original table. diff --git a/docs/en/Getting-Started.md b/docs/en/Getting-Started.md index fa7f47f276..07e55f553e 100644 --- a/docs/en/Getting-Started.md +++ b/docs/en/Getting-Started.md @@ -25,12 +25,6 @@ The following tools should be installed on your development machine: * [Node v12+](https://nodejs.org) * [Yarn v1.19+](https://classic.yarnpkg.com/) -{{ if Tiered == "Yes" }} - -* [Redis](https://redis.io/): The applications use Redis as as [distributed cache](../Caching.md). So, you need to have Redis installed & running. - -{{ end }} - > You can use another editor instead of Visual Studio as long as it supports .NET Core and ASP.NET Core. @@ -406,8 +400,8 @@ Enter **admin** as the username and **1q2w3E*** as the password to login to the The application is up and running. You can continue to develop your application based on this startup template. -> The [application startup template](Startup-Templates/Application.md) includes the TenantManagement and Identity modules. +> The [application startup template](startup-templates/application/index.md) includes the TenantManagement and Identity modules. ## What's next? -[Application development tutorial](Tutorials/Part-1.md) +[Application development tutorial](tutorials/book-store/part-1.md) diff --git a/docs/en/Localization.md b/docs/en/Localization.md index 954fe8620f..11b838cf7f 100644 --- a/docs/en/Localization.md +++ b/docs/en/Localization.md @@ -87,21 +87,6 @@ A JSON localization file content is shown below: * Every localization file should define the `culture` code for the file (like "en" or "en-US"). * `texts` section just contains key-value collection of the localization strings (keys may have spaces too). -### Default Resource - -`AbpLocalizationOptions.DefaultResourceType` can be set to a resource type, so it is used when the localization resource was not specified: - -````csharp -Configure(options => -{ - options.DefaultResourceType = typeof(TestResource); -}); -```` - -> The [application startup template](Startup-Templates/Application.md) sets `DefaultResourceType` to the localization resource of the application. - -See the *Client Side* section below for a use case. - ### Short Localization Resource Name Localization resources are also available in the client (JavaScript) side. So, setting a short name for the localization resource makes it easy to use localization texts. Example: @@ -181,10 +166,6 @@ public class MyService } ```` -##### Format Arguments - -Format arguments can be passed after the localization key. If your message is `Hello {0}, welcome!`, then you can pass the `{0}` argument to the localizer like `_localizer["HelloMessage", "John"]` - #### Simplest Usage In A Razor View/Page ````c# @@ -199,47 +180,18 @@ Refer to the [Microsoft's localization documentation](https://docs.microsoft.com ABP provides JavaScript services to use the same localized texts in the client side. -#### getResource - -`abp.localization.getResource` function is used to get a localization resource: +Get a localization resource: ````js var testResource = abp.localization.getResource('Test'); ```` -Then you can localize a string based on this resource: +Localize a string: ````js var str = testResource('HelloWorld'); ```` -#### localize - -`abp.localization.localize` function is a shortcut where you can both specify the text name and the resource name: - -````js -var str = abp.localization.localize('HelloWorld', 'Test'); -```` - -`HelloWorld` is the text to localize, where `Test` is the localization resource name here. - -If you don't specify the localization resource name, it uses the default localization resource defined on the `AbpLocalizationOptions` (see the *Default Resource* section above). Example: - -````js -var str = abp.localization.localize('HelloWorld'); //uses the default resource -```` - -##### Format Arguments - -If your localized string contains arguments, like `Hello {0}, welcome!`, you can pass arguments to the localization methods. Examples: - -````js -var str1 = abp.localization.getResource('Test')('HelloWelcomeMessage', 'John'); -var str2 = abp.localization.localize('HelloWorld', 'Test', 'John'); -```` - -Both of the samples above produce the output `Hello John, welcome!`. - ## See Also * [Localization in Angular UI](UI/Angular/Localization.md) \ No newline at end of file diff --git a/docs/en/Object-Extensions.md b/docs/en/Object-Extensions.md index bee229dc27..6eff328c85 100644 --- a/docs/en/Object-Extensions.md +++ b/docs/en/Object-Extensions.md @@ -197,8 +197,8 @@ ObjectExtensionManager.Instance "SocialSecurityNumber", options => { - options.Attributes.Add(new RequiredAttribute()); - options.Attributes.Add( + options.ValidationAttributes.Add(new RequiredAttribute()); + options.ValidationAttributes.Add( new StringLengthAttribute(32) { MinimumLength = 6 } @@ -248,12 +248,12 @@ ObjectExtensionManager.Instance objConfig.AddOrUpdateProperty("Password", propertyConfig => { - propertyConfig.Attributes.Add(new RequiredAttribute()); + propertyConfig.ValidationAttributes.Add(new RequiredAttribute()); }); objConfig.AddOrUpdateProperty("PasswordRepeat", propertyConfig => { - propertyConfig.Attributes.Add(new RequiredAttribute()); + propertyConfig.ValidationAttributes.Add(new RequiredAttribute()); }); //Write a common validation logic works on multiple properties diff --git a/docs/en/Tutorials/Part-1.md b/docs/en/Tutorials/Part-1.md index 51ab468d07..a0aa6612e9 100644 --- a/docs/en/Tutorials/Part-1.md +++ b/docs/en/Tutorials/Part-1.md @@ -38,7 +38,7 @@ Create a new project named `Acme.BookStore` where `Acme` is the company name and #### Create the project -By running the below command, it creates a new ABP project with the database provider `{{DB_Text}}` and UI option `{{UI_Value}}`. To see the other CLI options, check out [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) document. +By running the below command, it creates a new ABP project with the database provider `{{DB_Text}}` and UI option `MVC`. To see the other CLI options, check out [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) document. ```bash abp new Acme.BookStore --template app --database-provider {{DB}} --ui {{UI_Text}} --mobile none @@ -61,7 +61,7 @@ After creating the project, you need to apply the initial migrations and create To run the project, right click to the {{if UI == "MVC"}} `Acme.BookStore.Web`{{end}} {{if UI == "NG"}} `Acme.BookStore.HttpApi.Host` {{end}} project and click **Set As StartUp Project**. And run the web project by pressing **CTRL+F5** (*without debugging and fast*) or press **F5** (*with debugging and slow*). {{if UI == "NG"}}You will see the Swagger UI for BookStore API.{{end}} -Further information, see the [running the application section](../Getting-Started?UI={{UI}}#run-the-application). +Further information, see the [running the application section](../../Getting-Started-{{if UI == "NG"}}Angular{{else}}AspNetCore-MVC{{end}}-Template#running-the-application).Getting-Started-AspNetCore-MVC-Template#running-the-application ![Set as startup project](./images/bookstore-start-project-{{UI_Text}}.png) @@ -335,7 +335,7 @@ INSERT INTO AppBooks (Id,CreationTime,[Name],[Type],PublishDate,Price) VALUES ### Create the application service -The next step is to create an [application service](../Application-Services.md) to manage the books which will allow us the four basic functions: creating, reading, updating and deleting. Application layer is separated into two projects: +The next step is to create an [application service](../../Application-Services.md) to manage the books which will allow us the four basic functions: creating, reading, updating and deleting. Application layer is separated into two projects: * `Acme.BookStore.Application.Contracts` mainly contains your `DTO`s and application service interfaces. * `Acme.BookStore.Application` contains the implementations of your application services. @@ -874,52 +874,97 @@ We'll see **book-list works!** text on the books page: Run the following command in the terminal to create a new state, named `BooksState`: +![Initial book list page](./images/bookstore-generate-state-books.png) + ```bash -npx @ngxs/cli --name books --directory src/app/books +yarn ng generate ngxs-schematic:state books ``` -* This command creates `books.state.ts` and `books.actions.ts` files in the `src/app/books/state` folder. See the [NGXS CLI documentation](https://www.ngxs.io/plugins/cli). +* This command creates several new files and updates `app.modules.ts` file to import the `NgxsModule` with the new state. + +#### Get books data from backend + +Create data types to map the data from the backend (you can check Swagger UI or your backend API to see the data format). -Import the `BooksState` to the `app.module.ts` in the `src/app` folder and then add the `BooksState` to `forRoot` static method of `NgxsModule` as an array element of the first parameter of the method. +![BookDto properties](./images/bookstore-swagger-book-dto-properties.png) + +Open the `books.ts` file in the `app\store\models` folder and replace the content as below: ```js -// ... -import { BooksState } from './books/state/books.state'; //<== imported BooksState ==> +export namespace Books { + export interface State { + books: Response; + } -@NgModule({ - imports: [ - // other imports + export interface Response { + items: Book[]; + totalCount: number; + } - NgxsModule.forRoot([BooksState]), //<== added BooksState ==> + export interface Book { + name: string; + type: BookType; + publishDate: string; + price: number; + lastModificationTime: string; + lastModifierId: string; + creationTime: string; + creatorId: string; + id: string; + } - //other imports - ], - // ... -}) -export class AppModule {} + export enum BookType { + Undefined, + Adventure, + Biography, + Dystopia, + Fantastic, + Horror, + Science, + ScienceFiction, + Poetry, + } +} ``` -#### Generate proxies +* Added `Book` interface that represents a book object and `BookType` enum which represents a book category. -ABP CLI provides `generate-proxy` command that generates client proxies for your HTTP APIs to make easy to consume your services from the client side. Before running generate-proxy command, your host must be up and running. See the [CLI documentation](../CLI.md) +#### BooksService -Run the following command in the `angular` folder: +Create a new service, named `BooksService` to perform `HTTP` calls to the server: ```bash -abp generate-proxy --module app +yarn ng generate service books/shared/books ``` -![Generate proxy command](./images/generate-proxy-command.png) +![service-terminal-output](./images/bookstore-service-terminal-output.png) -The generated files looks like below: +Open the `books.service.ts` file in `app\books\shared` folder and replace the content as below: -![Generated files](./images/generated-proxies.png) +```js +import { Injectable } from '@angular/core'; +import { RestService } from '@abp/ng.core'; +import { Books } from '../../store/models'; +import { Observable } from 'rxjs'; -#### GetBooks Action +@Injectable({ + providedIn: 'root', +}) +export class BooksService { + constructor(private restService: RestService) {} + + get(): Observable { + return this.restService.request({ + method: 'GET', + url: '/api/app/book' + }); + } +} +``` -Actions can either be thought of as a command which should trigger something to happen, or as the resulting event of something that has already happened. [See NGXS Actions documentation](https://www.ngxs.io/concepts/actions). +* We added the `get` method to get the list of books by performing an HTTP request to the related endpoint. -Open the `books.actions.ts` file in `app/books/state` folder and replace the content below: +Open the`books.actions.ts` file in `app\store\actions` folder and replace the content below: ```js export class GetBooks { @@ -929,49 +974,43 @@ export class GetBooks { #### Implement BooksState -Open the `books.state.ts` file in `app/books/state` folder and replace the content below: +Open the `books.state.ts` file in `app\store\states` folder and replace the content below: ```js -import { PagedResultDto } from '@abp/ng.core'; import { State, Action, StateContext, Selector } from '@ngxs/store'; -import { GetBooks } from './books.actions'; -import { BookService } from '../../app/shared/services'; +import { GetBooks } from '../actions/books.actions'; +import { Books } from '../models/books'; +import { BooksService } from '../../books/shared/books.service'; import { tap } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { BookDto } from '../../app/shared/models'; -export class BooksStateModel { - public book: PagedResultDto; -} - -@State({ +@State({ name: 'BooksState', - defaults: { book: {} } as BooksStateModel, + defaults: { books: {} } as Books.State, }) @Injectable() export class BooksState { @Selector() - static getBooks(state: BooksStateModel) { - return state.book.items || []; + static getBooks(state: Books.State) { + return state.books.items || []; } - constructor(private bookService: BookService) {} + constructor(private booksService: BooksService) {} @Action(GetBooks) - get(ctx: StateContext) { - return this.bookService.getListByInput().pipe( - tap((booksResponse) => { + get(ctx: StateContext) { + return this.booksService.get().pipe( + tap(booksResponse => { ctx.patchState({ - book: booksResponse, + books: booksResponse, }); - }) + }), ); } } ``` -* We added the book property to BooksStateModel model. -* We added `@Injectable()` decorator to BookState class (Regquired for Ivy to work properly). -* We added the `GetBooks` action that retrieves the books data via `BooksService` that generated via ABP CLI and patches the state. + +* We added the `GetBooks` action that retrieves the books data via `BooksService` and patches the state. * `NGXS` requires to return the observable without subscribing it in the get function. #### BookListComponent @@ -980,12 +1019,11 @@ Open the `book-list.component.ts` file in `app\books\book-list` folder and repla ```js import { Component, OnInit } from '@angular/core'; -import { Select, Store } from '@ngxs/store'; +import { Store, Select } from '@ngxs/store'; +import { BooksState } from '../../store/states'; import { Observable } from 'rxjs'; -import { finalize } from 'rxjs/operators'; -import { BookDto, BookType } from '../../app/shared/models'; -import { GetBooks } from '../state/books.actions'; -import { BooksState } from '../state/books.state'; +import { Books } from '../../store/models'; +import { GetBooks } from '../../store/actions'; @Component({ selector: 'app-book-list', @@ -994,13 +1032,13 @@ import { BooksState } from '../state/books.state'; }) export class BookListComponent implements OnInit { @Select(BooksState.getBooks) - books$: Observable; + books$: Observable; - booksType = BookType; + booksType = Books.BookType; loading = false; - constructor(private store: Store) {} + constructor(private store: Store) { } ngOnInit() { this.get(); @@ -1008,10 +1046,9 @@ export class BookListComponent implements OnInit { get() { this.loading = true; - this.store - .dispatch(new GetBooks()) - .pipe(finalize(() => (this.loading = false))) - .subscribe(() => {}); + this.store.dispatch(new GetBooks()).subscribe(() => { + this.loading = false; + }); } } ``` diff --git a/docs/en/Tutorials/Part-2.md b/docs/en/Tutorials/Part-2.md index cfe9936812..9565724cb8 100644 --- a/docs/en/Tutorials/Part-2.md +++ b/docs/en/Tutorials/Part-2.md @@ -456,76 +456,161 @@ Run the application and try to delete a book. In this section, you will learn how to create a new modal dialog form to create a new book. +#### Type definition + +Open `books.ts` file in `app\store\models` folder and replace the content as below: + +```js +export namespace Books { + export interface State { + books: Response; + } + + export interface Response { + items: Book[]; + totalCount: number; + } + + export interface Book { + name: string; + type: BookType; + publishDate: string; + price: number; + lastModificationTime: string; + lastModifierId: string; + creationTime: string; + creatorId: string; + id: string; + } + + export enum BookType { + Undefined, + Adventure, + Biography, + Dystopia, + Fantastic, + Horror, + Science, + ScienceFiction, + Poetry, + } + + //<== added CreateUpdateBookInput interface ==> + export interface CreateUpdateBookInput { + name: string; + type: BookType; + publishDate: string; + price: number; + } +} +``` + +* We added `CreateUpdateBookInput` interface. +* You can see the properties of this interface from Swagger UI. +* The `CreateUpdateBookInput` interface matches with the `CreateUpdateBookDto` in the backend. + +#### Service method + +Open the `books.service.ts` file in `app\books\shared` folder and replace the content as below: + +```js +import { Injectable } from '@angular/core'; +import { RestService } from '@abp/ng.core'; +import { Books } from '../../store/models'; +import { Observable } from 'rxjs'; + +@Injectable({ + providedIn: 'root', +}) +export class BooksService { + constructor(private restService: RestService) {} + + get(): Observable { + return this.restService.request({ + method: 'GET', + url: '/api/app/book' + }); + } + + //<== added create method ==> + create(createBookInput: Books.CreateUpdateBookInput): Observable { + return this.restService.request({ + method: 'POST', + url: '/api/app/book', + body: createBookInput + }); + } +} +``` + +- We added the `create` method to perform an HTTP Post request to the server. +- `restService.request` function gets generic parameters for the types sent to and received from the server. This example sends a `CreateUpdateBookInput` object and receives a `Book` object (you can set `void` for request or return type if not used). + #### State definitions -Open `books.action.ts` in `books\state` folder and replace the content as below: +Open `books.action.ts` in `app\store\actions` folder and replace the content as below: ```js -import { CreateUpdateBookDto } from '../../app/shared/models'; //<== added this line ==> +import { Books } from '../models'; //<== added this line ==> export class GetBooks { static readonly type = '[Books] Get'; } -// added CreateUpdateBook class +//added CreateUpdateBook class export class CreateUpdateBook { static readonly type = '[Books] Create Update Book'; - constructor(public payload: CreateUpdateBookDto) { } + constructor(public payload: Books.CreateUpdateBookInput) { } } ``` -* We imported the `CreateUpdateBookDto` model and created the `CreateUpdateBook` action. +* We imported the Books namespace and created the `CreateUpdateBook` action. -Open `books.state.ts` file in `books\state` folder and replace the content as below: +Open `books.state.ts` file in `app\store\states` and replace the content as below: ```js -import { PagedResultDto } from '@abp/ng.core'; import { State, Action, StateContext, Selector } from '@ngxs/store'; -import { GetBooks, CreateUpdateBook } from './books.actions'; // <== added CreateUpdateBook==> -import { BookService } from '../../app/shared/services'; +import { GetBooks, CreateUpdateBook } from '../actions/books.actions'; //<== added CreateUpdateBook==> +import { Books } from '../models/books'; +import { BooksService } from '../../books/shared/books.service'; import { tap } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { BookDto } from '../../app/shared/models'; - -export class BooksStateModel { - public book: PagedResultDto; -} -@State({ +@State({ name: 'BooksState', - defaults: { book: {} } as BooksStateModel, + defaults: { books: {} } as Books.State, }) @Injectable() export class BooksState { @Selector() - static getBooks(state: BooksStateModel) { - return state.book.items || []; + static getBooks(state: Books.State) { + return state.books.items || []; } - constructor(private bookService: BookService) {} + constructor(private booksService: BooksService) { } @Action(GetBooks) - get(ctx: StateContext) { - return this.bookService.getListByInput().pipe( - tap((bookResponse) => { + get(ctx: StateContext) { + return this.booksService.get().pipe( + tap(booksResponse => { ctx.patchState({ - book: bookResponse, + books: booksResponse, }); - }) + }), ); } - // added CreateUpdateBook action listener + //added CreateUpdateBook action listener @Action(CreateUpdateBook) - save(ctx: StateContext, action: CreateUpdateBook) { - return this.bookService.createByInput(action.payload); + save(ctx: StateContext, action: CreateUpdateBook) { + return this.booksService.create(action.payload); } } ``` * We imported `CreateUpdateBook` action and defined the `save` method that will listen to a `CreateUpdateBook` action to create a book. -When the `SaveBook` action dispatched, the save method is being executed. It calls `createByInput` method of the `BookService`. +When the `SaveBook` action dispatched, the save method is being executed. It calls `create` method of the `BooksService`. #### Add a modal to BookListComponent @@ -609,12 +694,11 @@ Open `book-list.component.ts` file in `books\book-list` folder and replace the c ```js import { Component, OnInit } from '@angular/core'; -import { Select, Store } from '@ngxs/store'; +import { Store, Select } from '@ngxs/store'; +import { BooksState } from '../../store/states'; import { Observable } from 'rxjs'; -import { finalize } from 'rxjs/operators'; -import { BookDto, BookType } from '../../app/shared/models'; -import { GetBooks } from '../state/books.actions'; -import { BooksState } from '../state/books.state'; +import { Books } from '../../store/models'; +import { GetBooks } from '../../store/actions'; @Component({ selector: 'app-book-list', @@ -623,15 +707,15 @@ import { BooksState } from '../state/books.state'; }) export class BookListComponent implements OnInit { @Select(BooksState.getBooks) - books$: Observable; + books$: Observable; - booksType = BookType; + booksType = Books.BookType; loading = false; - isModalOpen = false; // <== added this line ==> + isModalOpen = false; //<== added this line ==> - constructor(private store: Store) {} + constructor(private store: Store) { } ngOnInit() { this.get(); @@ -639,13 +723,12 @@ export class BookListComponent implements OnInit { get() { this.loading = true; - this.store - .dispatch(new GetBooks()) - .pipe(finalize(() => (this.loading = false))) - .subscribe(() => {}); + this.store.dispatch(new GetBooks()).subscribe(() => { + this.loading = false; + }); } - // added createBook method + //added createBook method createBook() { this.isModalOpen = true; } @@ -666,13 +749,12 @@ Open `book-list.component.ts` file in `app\books\book-list` folder and replace t ```js import { Component, OnInit } from '@angular/core'; -import { Select, Store } from '@ngxs/store'; +import { Store, Select } from '@ngxs/store'; +import { BooksState } from '../../store/states'; import { Observable } from 'rxjs'; -import { finalize } from 'rxjs/operators'; -import { BookDto, BookType } from '../../app/shared/models'; -import { GetBooks } from '../state/books.actions'; -import { BooksState } from '../state/books.state'; -import { FormGroup, FormBuilder, Validators } from '@angular/forms'; // <== added this line ==> +import { Books } from '../../store/models'; +import { GetBooks } from '../../store/actions'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; //<== added this line ==> @Component({ selector: 'app-book-list', @@ -681,17 +763,17 @@ import { FormGroup, FormBuilder, Validators } from '@angular/forms'; // <== adde }) export class BookListComponent implements OnInit { @Select(BooksState.getBooks) - books$: Observable; + books$: Observable; - booksType = BookType; + booksType = Books.BookType; loading = false; isModalOpen = false; - form: FormGroup; // <== added this line ==> + form: FormGroup; - constructor(private store: Store, private fb: FormBuilder) {} // <== added FormBuilder ==> + constructor(private store: Store, private fb: FormBuilder) { } //<== added FormBuilder ==> ngOnInit() { this.get(); @@ -699,10 +781,9 @@ export class BookListComponent implements OnInit { get() { this.loading = true; - this.store - .dispatch(new GetBooks()) - .pipe(finalize(() => (this.loading = false))) - .subscribe(() => {}); + this.store.dispatch(new GetBooks()).subscribe(() => { + this.loading = false; + }); } createBook() { @@ -710,7 +791,7 @@ export class BookListComponent implements OnInit { this.isModalOpen = true; } - // added buildForm method + //added buildForm method buildForm() { this.form = this.fb.group({ name: ['', Validators.required], @@ -723,7 +804,6 @@ export class BookListComponent implements OnInit { ``` * We imported `FormGroup, FormBuilder and Validators`. -* We added `form: FormGroup` variable. * We injected `fb: FormBuilder` service to the constructor. The [FormBuilder](https://angular.io/api/forms/FormBuilder) service provides convenient methods for generating controls. It reduces the amount of boilerplate needed to build complex forms. * We added `buildForm` method to the end of the file and executed `buildForm()` in the `createBook` method. This method creates a reactive form to be able to create a new book. * The `group` method of `FormBuilder`, `fb` creates a `FormGroup`. @@ -800,34 +880,35 @@ export class BooksModule { } * We imported `NgbDatepickerModule` to be able to use the date picker. + + Open `book-list.component.ts` file in `app\books\book-list` folder and replace the content as below: ```js import { Component, OnInit } from '@angular/core'; -import { Select, Store } from '@ngxs/store'; +import { Store, Select } from '@ngxs/store'; +import { BooksState } from '../../store/states'; import { Observable } from 'rxjs'; -import { finalize } from 'rxjs/operators'; -import { BookDto, BookType } from '../../app/shared/models'; -import { GetBooks } from '../state/books.actions'; -import { BooksState } from '../state/books.state'; +import { Books } from '../../store/models'; +import { GetBooks } from '../../store/actions'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; -import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; // <== added this line ==> +import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; //<== added this line ==> @Component({ selector: 'app-book-list', templateUrl: './book-list.component.html', styleUrls: ['./book-list.component.scss'], - providers: [{ provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }], // <== added this line ==> + providers: [{ provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }] //<== added this line ==> }) export class BookListComponent implements OnInit { @Select(BooksState.getBooks) - books$: Observable; + books$: Observable; - booksType = BookType; + booksType = Books.BookType; //added bookTypeArr array - bookTypeArr = Object.keys(BookType).filter( - (bookType) => typeof this.booksType[bookType] === 'number' + bookTypeArr = Object.keys(Books.BookType).filter( + bookType => typeof this.booksType[bookType] === 'number' ); loading = false; @@ -836,7 +917,7 @@ export class BookListComponent implements OnInit { form: FormGroup; - constructor(private store: Store, private fb: FormBuilder) {} + constructor(private store: Store, private fb: FormBuilder) { } ngOnInit() { this.get(); @@ -844,10 +925,9 @@ export class BookListComponent implements OnInit { get() { this.loading = true; - this.store - .dispatch(new GetBooks()) - .pipe(finalize(() => (this.loading = false))) - .subscribe(() => {}); + this.store.dispatch(new GetBooks()).subscribe(() => { + this.loading = false; + }); } createBook() { @@ -885,16 +965,35 @@ Now, you can open your browser to see the changes: #### Saving the book +Open `book-list.component.html` in `app\books\book-list` folder and add the following `abp-button` to save the new book. + +```html + + + + + + +``` + +* This adds a save button to the bottom area of the modal: + +![Save button to the modal](./images/bookstore-new-book-form-v2.png) + Open `book-list.component.ts` file in `app\books\book-list` folder and replace the content as below: ```js import { Component, OnInit } from '@angular/core'; -import { Select, Store } from '@ngxs/store'; +import { Store, Select } from '@ngxs/store'; +import { BooksState } from '../../store/states'; import { Observable } from 'rxjs'; -import { finalize } from 'rxjs/operators'; -import { BookDto, BookType } from '../../app/shared/models'; -import { GetBooks, CreateUpdateBook } from '../state/books.actions'; // <== added CreateUpdateBook ==> -import { BooksState } from '../state/books.state'; +import { Books } from '../../store/models'; +import { GetBooks, CreateUpdateBook } from '../../store/actions'; //<== added CreateUpdateBook ==> import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; @@ -902,17 +1001,16 @@ import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap selector: 'app-book-list', templateUrl: './book-list.component.html', styleUrls: ['./book-list.component.scss'], - providers: [{ provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }], + providers: [{ provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }] }) export class BookListComponent implements OnInit { @Select(BooksState.getBooks) - books$: Observable; + books$: Observable; - booksType = BookType; + booksType = Books.BookType; - //added bookTypeArr array - bookTypeArr = Object.keys(BookType).filter( - (bookType) => typeof this.booksType[bookType] === 'number' + bookTypeArr = Object.keys(Books.BookType).filter( + bookType => typeof this.booksType[bookType] === 'number' ); loading = false; @@ -921,7 +1019,7 @@ export class BookListComponent implements OnInit { form: FormGroup; - constructor(private store: Store, private fb: FormBuilder) {} + constructor(private store: Store, private fb: FormBuilder) { } ngOnInit() { this.get(); @@ -929,10 +1027,9 @@ export class BookListComponent implements OnInit { get() { this.loading = true; - this.store - .dispatch(new GetBooks()) - .pipe(finalize(() => (this.loading = false))) - .subscribe(() => {}); + this.store.dispatch(new GetBooks()).subscribe(() => { + this.loading = false; + }); } createBook() { @@ -965,46 +1062,37 @@ export class BookListComponent implements OnInit { ``` * We imported `CreateUpdateBook`. -* We added `save` method - -Open `book-list.component.html` in `app\books\book-list` folder and add the following `abp-button` to save the new book. - -```html - - - - - - -``` - -Find the `
` tag and replace below content: +* We added `save` method -```html - -``` +### Updating an existing book - -* We added the `(ngSubmit)="save()"` to `` element to save a new book by pressing the enter. -* We added `abp-button` to the bottom area of the modal to save a new book. +#### BooksService -The final modal UI looks like below: +Open the `books.service.ts` in `app\books\shared` folder and add the `getById` and `update` methods. -![Save button to the modal](./images/bookstore-new-book-form-v2.png) +```js +getById(id: string): Observable { + return this.restService.request({ + method: 'GET', + url: `/api/app/book/${id}` + }); +} -### Updating a book +update(updateBookInput: Books.CreateUpdateBookInput, id: string): Observable { + return this.restService.request({ + method: 'PUT', + url: `/api/app/book/${id}`, + body: updateBookInput + }); +} +``` #### CreateUpdateBook action -Open the `books.actions.ts` in `books\state` folder and replace the content as below: +Open the `books.actions.ts` in `app\store\actions` folder and replace the content as below: ```js -import { CreateUpdateBookDto } from '../../app/shared/models'; +import { Books } from '../models'; export class GetBooks { static readonly type = '[Books] Get'; @@ -1012,55 +1100,54 @@ export class GetBooks { export class CreateUpdateBook { static readonly type = '[Books] Create Update Book'; - constructor(public payload: CreateUpdateBookDto, public id?: string) { } // <== added id parameter ==> + constructor(public payload: Books.CreateUpdateBookInput, public id?: string) { } //<== added id parameter ==> } ``` * We added `id` parameter to the `CreateUpdateBook` action's constructor. -Open the `books.state.ts` in `books\state` folder and replace the `save` method as below: +Open the `books.state.ts` in `app\store\states` folder and replace the `save` method as below: ```js @Action(CreateUpdateBook) -save(ctx: StateContext, action: CreateUpdateBook) { - if (action.id) { - return this.bookService.updateByIdAndInput(action.payload, action.id); - } else { - return this.bookService.createByInput(action.payload); - } +save(ctx: StateContext, action: CreateUpdateBook) { + if (action.id) { + return this.booksService.update(action.payload, action.id); + } else { + return this.booksService.create(action.payload); + } } ``` #### BookListComponent -Open `book-list.component.ts` in `app\books\book-list` folder and inject `BookService` dependency by adding it to the constructor and add a variable named `selectedBook`. +Open `book-list.component.ts` in `app\books\book-list` folder and inject `BooksService` dependency by adding it to the constructor and add a variable named `selectedBook`. ```js import { Component, OnInit } from '@angular/core'; -import { Select, Store } from '@ngxs/store'; +import { Store, Select } from '@ngxs/store'; +import { BooksState } from '../../store/states'; import { Observable } from 'rxjs'; -import { finalize } from 'rxjs/operators'; -import { BookDto, BookType } from '../../app/shared/models'; -import { GetBooks, CreateUpdateBook } from '../state/books.actions'; -import { BooksState } from '../state/books.state'; +import { Books } from '../../store/models'; +import { GetBooks, CreateUpdateBook } from '../../store/actions'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; -import { BookService } from '../../app/shared/services'; // <== imported BookService ==> +import { BooksService } from '../shared/books.service'; //<== imported BooksService ==> @Component({ selector: 'app-book-list', templateUrl: './book-list.component.html', styleUrls: ['./book-list.component.scss'], - providers: [{ provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }], + providers: [{ provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }] }) export class BookListComponent implements OnInit { @Select(BooksState.getBooks) - books$: Observable; + books$: Observable; - booksType = BookType; + booksType = Books.BookType; - bookTypeArr = Object.keys(BookType).filter( - (bookType) => typeof this.booksType[bookType] === 'number' + bookTypeArr = Object.keys(Books.BookType).filter( + bookType => typeof this.booksType[bookType] === 'number' ); loading = false; @@ -1069,9 +1156,9 @@ export class BookListComponent implements OnInit { form: FormGroup; - selectedBook = {} as BookDto; // <== declared selectedBook ==> + selectedBook = {} as Books.Book; //<== declared selectedBook ==> - constructor(private store: Store, private fb: FormBuilder, private bookService: BookService) {} //<== injected BookService ==> + constructor(private store: Store, private fb: FormBuilder, private booksService: BooksService) { } ngOnInit() { this.get(); @@ -1079,38 +1166,39 @@ export class BookListComponent implements OnInit { get() { this.loading = true; - this.store - .dispatch(new GetBooks()) - .pipe(finalize(() => (this.loading = false))) - .subscribe(() => {}); + this.store.dispatch(new GetBooks()).subscribe(() => { + this.loading = false; + }); } - // <== this method is replaced ==> + //<== this method is replaced ==> createBook() { - this.selectedBook = {} as BookDto; // <== added ==> + this.selectedBook = {} as Books.Book; //<== added ==> this.buildForm(); this.isModalOpen = true; } - // <== added editBook method ==> + //<== added editBook method ==> editBook(id: string) { - this.bookService.getById(id).subscribe((book) => { + this.booksService.getById(id).subscribe(book => { this.selectedBook = book; this.buildForm(); this.isModalOpen = true; }); } - // <== this method is replaced ==> + //<== this method is replaced ==> buildForm() { this.form = this.fb.group({ - name: [this.selectedBook.name || '', Validators.required], + name: [this.selectedBook.name || "", Validators.required], type: [this.selectedBook.type || null, Validators.required], publishDate: [ - this.selectedBook.publishDate ? new Date(this.selectedBook.publishDate) : null, - Validators.required, + this.selectedBook.publishDate + ? new Date(this.selectedBook.publishDate) + : null, + Validators.required ], - price: [this.selectedBook.price || null, Validators.required], + price: [this.selectedBook.price || null, Validators.required] }); } @@ -1120,8 +1208,7 @@ export class BookListComponent implements OnInit { } //<== added this.selectedBook.id ==> - this.store - .dispatch(new CreateUpdateBook(this.form.value, this.selectedBook.id)) + this.store.dispatch(new CreateUpdateBook(this.form.value, this.selectedBook.id)) .subscribe(() => { this.isModalOpen = false; this.form.reset(); @@ -1131,9 +1218,9 @@ export class BookListComponent implements OnInit { } ``` -* We imported `BookService`. -* We declared a variable named `selectedBook` as `BookDto`. -* We injected `BookService` to the constructor. `BookService` is being used to retrieve the book data which is being edited. +* We imported `BooksService`. +* We declared a variable named `selectedBook` as `Books.Book`. +* We injected `BooksService` to the constructor. `BooksService` is being used to retrieve the book data which is being edited. * We added `editBook` method. This method fetches the book with the given `Id` and sets it to `selectedBook` object. * We replaced the `buildForm` method so that it creates the form with the `selectedBook` data. * We replaced the `createBook` method so it sets `selectedBook` to an empty object. @@ -1211,9 +1298,24 @@ Open `book-list.component.html` in `app\books\book-list` folder and find the ` { + return this.restService.request({ + method: 'DELETE', + url: `/api/app/book/${id}` + }); +} +``` + +* `Delete` method gets `id` parameter and makes a `DELETE` HTTP request to the relevant endpoint. + #### DeleteBook action -Open `books.actions.ts` in `books\state `folder and add an action named `DeleteBook`. +Open `books.actions.ts` in `app\store\actions `folder and add an action named `DeleteBook`. ```js export class DeleteBook { @@ -1222,58 +1324,53 @@ export class DeleteBook { } ``` -Open the `books.state.ts` in `books\state` folder and replace the content as below: +Open the `books.state.ts` in `app\store\states` folder and replace the content as below: ```js -import { PagedResultDto } from '@abp/ng.core'; import { State, Action, StateContext, Selector } from '@ngxs/store'; -import { GetBooks, CreateUpdateBook, DeleteBook } from './books.actions'; // <== added DeleteBook==> -import { BookService } from '../../app/shared/services'; +import { GetBooks, CreateUpdateBook, DeleteBook } from '../actions/books.actions'; //<== added DeleteBook==> +import { Books } from '../models/books'; +import { BooksService } from '../../books/shared/books.service'; import { tap } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { BookDto } from '../../app/shared/models'; - -export class BooksStateModel { - public book: PagedResultDto; -} -@State({ +@State({ name: 'BooksState', - defaults: { book: {} } as BooksStateModel, + defaults: { books: {} } as Books.State, }) @Injectable() export class BooksState { @Selector() - static getBooks(state: BooksStateModel) { - return state.book.items || []; + static getBooks(state: Books.State) { + return state.books.items || []; } - constructor(private bookService: BookService) {} + constructor(private booksService: BooksService) { } @Action(GetBooks) - get(ctx: StateContext) { - return this.bookService.getListByInput().pipe( - tap((booksResponse) => { + get(ctx: StateContext) { + return this.booksService.get().pipe( + tap(booksResponse => { ctx.patchState({ - book: booksResponse, + books: booksResponse, }); - }) + }), ); } @Action(CreateUpdateBook) - save(ctx: StateContext, action: CreateUpdateBook) { + save(ctx: StateContext, action: CreateUpdateBook) { if (action.id) { - return this.bookService.updateByIdAndInput(action.payload, action.id); + return this.booksService.update(action.payload, action.id); } else { - return this.bookService.createByInput(action.payload); + return this.booksService.create(action.payload); } } - // <== added DeleteBook action listener ==> + //<== added DeleteBook ==> @Action(DeleteBook) - delete(ctx: StateContext, action: DeleteBook) { - return this.bookService.deleteById(action.id); + delete(ctx: StateContext, action: DeleteBook) { + return this.booksService.delete(action.id); } } ``` @@ -1282,8 +1379,27 @@ export class BooksState { - We added `DeleteBook` action listener to the end of the file. + + +#### Add a delete button + + +Open `book-list.component.html` in `app\books\book-list` folder and modify the `ngbDropdownMenu` to add the delete button as shown below: + +```html +
+ + +
+``` + +The final actions dropdown UI looks like below: -#### Delete confirmation popup +![bookstore-final-actions-dropdown](./images/bookstore-final-actions-dropdown.png) + +#### Delete confirmation dialog Open `book-list.component.ts` in`app\books\book-list` folder and inject the `ConfirmationService`. @@ -1294,29 +1410,26 @@ import { ConfirmationService } from '@abp/ng.theme.shared'; //... constructor( - private store: Store, - private fb: FormBuilder, - private bookService: BookService, - private confirmation: ConfirmationService // <== added this line ==> + private store: Store, private fb: FormBuilder, + private booksService: BooksService, + private confirmationService: ConfirmationService // <== added this line ==> ) { } ``` * We imported `ConfirmationService`. * We injected `ConfirmationService` to the constructor. -See the [Confirmation Popup documentation](https://docs.abp.io/en/abp/latest/UI/Angular/Confirmation-Service) - In the `book-list.component.ts` add a delete method : ```js -import { GetBooks, CreateUpdateBook, DeleteBook } from '../state/books.actions' ;// <== imported DeleteBook ==> +import { GetBooks, CreateUpdateBook, DeleteBook } from '../../store/actions'; //<== added DeleteBook ==> -import { ConfirmationService, Confirmation } from '@abp/ng.theme.shared'; //<== imported Confirmation ==> +import { ConfirmationService, Confirmation } from '@abp/ng.theme.shared'; //<== added Confirmation ==> //... -delete(id: string) { - this.confirmation +delete(id: string, name: string) { + this.confirmationService .warn('::AreYouSureToDelete', 'AbpAccount::AreYouSure') .subscribe(status => { if (status === Confirmation.Status.confirm) { @@ -1326,30 +1439,10 @@ delete(id: string) { } ``` - The `delete` method shows a confirmation popup and subscribes for the user response. `DeleteBook` action dispatched only if user clicks to the `Yes` button. The confirmation popup looks like below: ![bookstore-confirmation-popup](./images/bookstore-confirmation-popup.png) - -#### Add a delete button - - -Open `book-list.component.html` in `app\books\book-list` folder and modify the `ngbDropdownMenu` to add the delete button as shown below: - -```html -
- - -
-``` - -The final actions dropdown UI looks like below: - -![bookstore-final-actions-dropdown](./images/bookstore-final-actions-dropdown.png) - {{end}} ### Next Part diff --git a/docs/en/Tutorials/Part-3.md b/docs/en/Tutorials/Part-3.md index 14822c9fe2..4cbefde69e 100644 --- a/docs/en/Tutorials/Part-3.md +++ b/docs/en/Tutorials/Part-3.md @@ -96,9 +96,9 @@ namespace Acme.BookStore ```` * `IRepository` is injected and used it in the `SeedAsync` to create two book entities as the test data. -* `IGuidGenerator` is injected to create GUIDs. While `Guid.NewGuid()` would perfectly work for testing, `IGuidGenerator` has additional features especially important while using real databases. Further information, see the [Guid generation document](../Guid-Generation.md). -### Testing the application service BookAppService +### Testing the application service BookAppService +* `IGuidGenerator` is injected to create GUIDs. While `Guid.NewGuid()` would perfectly work for testing, `IGuidGenerator` has additional features especially important while using real databases. Further information, see the [Guid generation document](https://docs.abp.io/{{Document_Language_Code}}/abp/{{Document_Version}}/Guid-Generation). Create a test class named `BookAppService_Tests` in the `Acme.BookStore.Application.Tests` project: diff --git a/docs/en/Tutorials/images/bookstore-angular-file-tree.png b/docs/en/Tutorials/images/bookstore-angular-file-tree.png index a3197b64574c61c589cc58fe6125a8553b1f09e9..28e570f6042fad36a9f6e98563ac1cccb9d0f330 100644 GIT binary patch literal 246634 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 literal 92799 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

*T4OPO;gk#gZsEe;ty#;qT89HYEe;TudCFsd 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 diff --git a/docs/en/Tutorials/images/generated-proxies.png b/docs/en/Tutorials/images/generated-proxies.png deleted file mode 100644 index 9e466e7d555a8d1abba207c6c7a00ea97d2a8ff6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130602 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 z 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 a;Qs)UbQg0sQ|Uqg0000 { - // your code here - }); -``` - - -- The `message` and `title` parameters accept a string, localization key or localization object. See the [localization document](./Localization.md) -- `Confirmation.Status` is an enum and has three properties; - - `Confirmation.Status.confirm` is a closing event value that will be emitted when the popup is closed by the confirm button. - - `Confirmation.Status.reject` is a closing event value that will be emitted when the popup is closed by the cancel button. - - `Confirmation.Status.dismiss` is a closing event value that will be emitted when the popup is closed by pressing the escape. - - -If you are not interested in the confirmation status, you do not have to subscribe to the returned observable: - -```js -this.confirmation.error('You are not authorized.', 'Error'); -``` - -### How to Display a Confirmation Popup With Given Options - -Options can be passed as the third parameter to `success`, `warn`, `error`, and `info` methods: - -```js -const options: Partial = { - hideCancelBtn: false, - hideYesBtn: false, - cancelText: 'Close', - yesText: 'Confirm', - messageLocalizationParams: ['Demo'], - titleLocalizationParams: [], -}; - -this.confirmation.warn( - 'AbpIdentity::RoleDeletionConfirmationMessage', - 'Are you sure?', - options, -); -``` - -- `hideCancelBtn` option hides the cancellation button when `true`. Default value is `false` -- `hideYesBtn` option hides the confirmation button when `true`. Default value is `false` -- `cancelText` is the text of the cancellation button. A localization key or localization object can be passed. Default value is `AbpUi::Cancel` -- `yesText` is the text of the confirmation button. A localization key or localization object can be passed. Default value is `AbpUi::Yes` -- `messageLocalizationParams` is the interpolation parameters for the localization of the message. -- `titleLocalizationParams` is the interpolation parameters for the localization of the title. - -With the options above, the confirmation popup looks like this: - -![confirmation](./images/confirmation.png) - -You are able to pass in an HTML string as title, message, or button texts. Here is an example: - -```js -const options: Partial = { - yesText: 'Yes, delete it', -}; - -this.confirmation.warn( - ` - Role Demo will be deleted -
- Do you confirm that? - `, - 'Are you sure?', - options, -); -``` - -Since the values are HTML now, localization should be handled manually. Check out the [LocalizationService](./Localization#using-the-localization-service) to see how you can accomplish that. - -> Please note that all strings will be sanitized by Angular and not every HTML string will work. Only values that are considered as "safe" by Angular will be displayed. - -### How to Remove a Confirmation Popup - -The open confirmation popup can be removed manually via the `clear` method: - -```js -this.confirmation.clear(); -``` - -## API - -### success - -```js -success( - message: Config.LocalizationParam, - title: Config.LocalizationParam, - options?: Partial, -): Observable -``` - -> See the [`Config.LocalizationParam` type](https://github.com/abpframework/abp/blob/master/npm/ng-packs/packages/core/src/lib/models/config.ts#L46) and [`Confirmation` namespace](https://github.com/abpframework/abp/blob/master/npm/ng-packs/packages/theme-shared/src/lib/models/confirmation.ts) - - -### warn - -```js -warn( - message: Config.LocalizationParam, - title: Config.LocalizationParam, - options?: Partial, -): Observable -``` - -### error - -```js -error( - message: Config.LocalizationParam, - title: Config.LocalizationParam, - options?: Partial, -): Observable -``` - -### info - -```js -info( - message: Config.LocalizationParam, - title: Config.LocalizationParam, - options?: Partial, -): Observable -``` - -### clear - -```js -clear( - status: Confirmation.Status = Confirmation.Status.dismiss -): void -``` - -- `status` parameter is the value of the confirmation closing event. - - -## What's Next? - -- [Toast Overlay](./Toaster-Service.md) diff --git a/docs/en/UI/Angular/Http-Requests.md b/docs/en/UI/Angular/Http-Requests.md index 2ac5aa1b49..71878c8045 100644 --- a/docs/en/UI/Angular/Http-Requests.md +++ b/docs/en/UI/Angular/Http-Requests.md @@ -206,4 +206,4 @@ You may find `Rest.Observe` enum [here](https://github.com/abpframework/abp/blob ## What's Next? -* [Localization](./Localization.md) +* [Localization](./Localization.md) \ No newline at end of file diff --git a/docs/en/UI/Angular/Modifying-the-Menu.md b/docs/en/UI/Angular/Modifying-the-Menu.md deleted file mode 100644 index 450a5aecd1..0000000000 --- a/docs/en/UI/Angular/Modifying-the-Menu.md +++ /dev/null @@ -1,199 +0,0 @@ -# Modifying the Menu - -The menu is inside the `ApplicationLayoutComponent` in the @abp/ng.theme.basic package. There are several methods for modifying the menu elements. This document covers these methods. If you would like to replace the menu completely, please refer to [Component Replacement documentation](./Component-Replacement.md) and learn how to replace a layout. - - - - - -## How to Add a Logo - -The `logoUrl` property in the environment variables is the url of the logo. - -You can add your logo to `src/assets` folder and set the `logoUrl` as shown below: - -```js -export const environment = { - // other configurations - application: { - name: 'MyProjectName', - logoUrl: 'assets/logo.png', - }, - // other configurations -}; -``` - -## How to Add a Navigation Element - -### Via `routes` Property in `AppRoutingModule` - -You can define your routes by adding `routes` as a child property to `data` property of a route configuration in the `app-routing.module`. The `@abp/ng.core` package organizes your routes and stores them in the `ConfigState`. `ApplicationLayoutComponent` gets routes from store and displays them on the menu. - -You can add the `routes` property like below: - -```js -{ - path: 'your-path', - data: { - routes: { - name: 'Your navigation', - order: 3, - iconClass: 'fas fa-question-circle', - requiredPolicy: 'permission key here', - children: [ - { - path: 'child', - name: 'Your child navigation', - order: 1, - requiredPolicy: 'permission key here', - }, - ], - } as ABP.Route, // can be imported from @abp/ng.core - } -} -``` - -- `name` is the label of the navigation element. A localization key or a localization object can be passed. -- `order` is the order of the navigation element. -- `iconClass` is the class of the `i` tag, which is placed to the left of the navigation label. -- `requiredPolicy` is the permission key to access the page. See the [Permission Management document](./Permission-Management.md) -- `children` is an array and is used for declaring child navigation elements. The child navigation element will be placed as a child route which will be available at `'/your-path/child'` based on the given `path` property. - -After adding the `routes` property as described above, the navigation menu looks like this: - -![navigation-menu-via-app-routing](./images/navigation-menu-via-app-routing.png) - -## Via ConfigState - -The `dispatchAddRoute` method of `ConfigStateService` adds a new navigation element to the menu. - -```js -// this.config is instance of ConfigStateService - -const newRoute: ABP.Route = { - name: 'My New Page', - iconClass: 'fa fa-dashboard', - path: 'page', - invisible: false, - order: 2, - requiredPolicy: 'MyProjectName.MyNewPage', -} as Omit; - -this.config.dispatchAddRoute(newRoute); -// returns a state stream which emits after dispatch action is complete -``` - -The `newRoute` will be placed as at root level, i.e. without any parent routes, and its url will be stored as `'/path'`. - -If you want **to add a child route, you can do this:** - -```js -// this.config is instance of ConfigStateService -// eIdentityRouteNames enum can be imported from @abp/ng.identity - -const newRoute: ABP.Route = { - parentName: eIdentityRouteNames.IdentityManagement, - name: 'My New Page', - iconClass: 'fa fa-dashboard', - path: 'page', - invisible: false, - order: 3, - requiredPolicy: 'MyProjectName.MyNewPage' -} as Omit; - -this.config.dispatchAddRoute(newRoute); -// returns a state stream which emits after dispatch action is complete -``` - -The `newRoute` will then be placed as a child of the parent route named `eIdentityRouteNames.IdentityManagement` and its url will be set as `'/identity/page'`. - -The new route will be added like below: - -![navigation-menu-via-config-state](./images/navigation-menu-via-config-state.png) - -## How to Patch a Navigation Element - -The `dispatchPatchRouteByName` method finds a route by its name and replaces its configuration in the store with the new configuration passed as the second parameter. - -```js -// this.config is instance of ConfigStateService -// eIdentityRouteNames enum can be imported from @abp/ng.identity - -const newRouteConfig: Partial = { - iconClass: 'fas fa-home', - parentName: eIdentityRouteNames.Administration, - order: 0, - children: [ - { - name: 'Dashboard', - path: 'dashboard', - }, - ], -}; - -this.config.dispatchPatchRouteByName('::Menu:Home', newRouteConfig); -// returns a state stream which emits after dispatch action is complete -``` - -* Moved the _Home_ navigation under the _Administration_ dropdown based on given `parentName`. -* Added an icon. -* Specified the order. -* Added a child route named _Dashboard_. - -After the patch above, navigation elements looks like below: - -![navigation-menu-after-patching](./images/navigation-menu-after-patching.png) - - -## How to Add an Element to Right Part of the Menu - -The right part elements are stored in the `LayoutState` that is in the @abp/ng.theme.basic package. - -The `dispatchAddNavigationElement` method of the `LayoutStateService` adds an element to the right part of the menu. - -You can insert an element by adding your template to `app.component` and calling the `dispatchAddNavigationElement` method: - -```js -import { Layout, LayoutStateService } from '@abp/ng.theme.basic'; // added this line - -@Component({ - selector: 'app-root', - template: ` - - - - `, -}) -export class AppComponent { - // Added ViewChild - @ViewChild('search', { static: false, read: TemplateRef }) searchElementRef: TemplateRef; - - constructor(private layout: LayoutStateService) {} // injected LayoutStateService - - // Added ngAfterViewInit - ngAfterViewInit() { - const newElement = { - name: 'Search', - element: this.searchElementRef, - order: 1, - } as Layout.NavigationElement; - - this.layout.dispatchAddNavigationElement(newElement); - } -} -``` - -This inserts a search input to the menu. The final UI looks like below: - -![navigation-menu-search-input](./images/navigation-menu-search-input.png) - -## How to Remove an Element From Right Part of the Menu - -TODO - - -## What's Next - -* [Component Replacement](./Component-Replacement.md) diff --git a/docs/en/UI/Angular/Permission-Management.md b/docs/en/UI/Angular/Permission-Management.md index d86e8c96b2..ababd25e7f 100644 --- a/docs/en/UI/Angular/Permission-Management.md +++ b/docs/en/UI/Angular/Permission-Management.md @@ -76,4 +76,4 @@ Granted Policies are stored in the `auth` property of `ConfigState`. ## What's Next? -- [Confirmation Popup](./Confirmation-Service.md) \ No newline at end of file +* [Config State](./Config-State.md) \ No newline at end of file diff --git a/docs/en/UI/Angular/Toaster-Service.md b/docs/en/UI/Angular/Toaster-Service.md deleted file mode 100644 index b194811d9a..0000000000 --- a/docs/en/UI/Angular/Toaster-Service.md +++ /dev/null @@ -1,158 +0,0 @@ -# Toast Overlay - -You can use the `ToasterService` in @abp/ng.theme.shared package to display messages in an overlay by placing at the root level in your project. - - -## Getting Started - -You do not have to provide the `ToasterService` at module or component level, because it is already **provided in root**. You can inject and start using it immediately in your components, directives, or services. - - -```js -import { ToasterService } from '@abp/ng.theme.shared'; - -@Component({ - /* class metadata here */ -}) -class DemoComponent { - constructor(private toaster: ToasterService) {} -} -``` - -## Usage - -You can use the `success`, `warn`, `error`, and `info` methods of `ToasterService` to display an overlay. - -### How to Display a Toast Overlay - -```js -this.toast.success('Message', 'Title'); -``` - -- The `ToasterService` methods accept three parameters that are `message`, `title`, and `options`. -- `success`, `warn`, `error`, and `info` methods return the id of opened toast overlay. The toast can be removed with this id. - -### How to Display a Toast Overlay With Given Options - -Options can be passed as the third parameter to `success`, `warn`, `error`, and `info` methods: - -```js -import { Toaster, ToasterService } from '@abp/ng.theme.shared'; -//... - -constructor(private toaster: ToasterService) {} - -//... -const options: Partial = { - life: 10000, - sticky: false, - closable: true, - tapToDismiss: true, - messageLocalizationParams: ['Demo', '1'], - titleLocalizationParams: [] - }; - - this.toaster.error('AbpUi::EntityNotFoundErrorMessage', 'AbpUi::Error', options); -``` - -- `life` option is the closing time in milliseconds. Default value is `5000`. -- `sticky` option keeps toast overlay on the screen by ignoring the `life` option when `true`. Default value is `false`. -- `closable` option displays the close icon on the toast overlay when it is `true`. Default value is `true`. -- `tapToDismiss` option, when `true`, allows closing the toast overlay by clicking over it. Default value is `false`. -- `yesText` is the text of the confirmation button. A localization key or localization object can be passed. Default value is `AbpUi::Yes`. -- `messageLocalizationParams` is the interpolation parameters for the localization of the message. -- `titleLocalizationParams` is the interpolation parameters for the localization of the title. - -With the options above, the toast overlay looks like this: - -![toast](./images/toast.png) - -### How to Remove a Toast Overlay - -The open toast overlay can be removed manually via the `remove` method by passing the `id` of toast: - -```js -const toastId = this.toast.success('Message', 'Title') - -this.toast.remove(toastId); -``` - -### How to Remove All Toasts - -The all open toasts can be removed manually via the `clear` method: - -```js -this.toast.clear(); -``` - -## API - -### success - -```js -success( - message: Config.LocalizationParam, - title: Config.LocalizationParam, - options?: Partial, -): number -``` - -- `Config` namespace can be imported from `@abp/ng.core`. -- `Toaster` namespace can be imported from `@abp/ng.theme.shared`. - -> See the [`Config.LocalizationParam` type](https://github.com/abpframework/abp/blob/master/npm/ng-packs/packages/core/src/lib/models/config.ts#L46) and [`Toaster` namespace](https://github.com/abpframework/abp/blob/master/npm/ng-packs/packages/theme-shared/src/lib/models/toaster.ts) - - -### warn - -```js -warn( - message: Config.LocalizationParam, - title: Config.LocalizationParam, - options?: Partial, -): number -``` - -### error - -```js -error( - message: Config.LocalizationParam, - title: Config.LocalizationParam, - options?: Partial, -): number -``` - -### info - -```js -info( - message: Config.LocalizationParam, - title: Config.LocalizationParam, - options?: Partial, -): number -``` - -### remove - -```js -remove(id: number): void -``` - -Removes an open toast by the given id. - -### clear - -```js -clear(): void -``` - -Removes all open toasts. - -## See Also - -- [Confirmation Popup](./Confirmation-Service.md) - -## What's Next? - -- [Config State](./Config-State.md) diff --git a/docs/en/UI/Angular/images/confirmation.png b/docs/en/UI/Angular/images/confirmation.png deleted file mode 100644 index efe4c98ea779b3798d21208966566711ec535629..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26919 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
*s~JQQW_ZAxnRCtWM+X{A%1b(7@pgff(lRtn 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 LZDb|F=GA`yG#y|> diff --git a/docs/en/UI/Common/Utils/Linked-List.md b/docs/en/UI/Common/Utils/Linked-List.md index 0c047d28e5..0d6b259603 100644 --- a/docs/en/UI/Common/Utils/Linked-List.md +++ b/docs/en/UI/Common/Utils/Linked-List.md @@ -1270,7 +1270,7 @@ find(predicate: ListIteratorFn): ListNode | undefined Finds the first node from the list that matches the given predicate: ```js -list.addManyTail(['a', 'b', 'b', 'c']); +list.addTailMany(['a', 'b', 'b', 'c']); // "a" <-> "b" <-> "b" <-> "c" @@ -1294,7 +1294,7 @@ findIndex(predicate: ListIteratorFn): number Finds the position of the first node from the list that matches the given predicate: ```js -list.addManyTail(['a', 'b', 'b', 'c']); +list.addTailMany(['a', 'b', 'b', 'c']); // "a" <-> "b" <-> "b" <-> "c" @@ -1322,7 +1322,7 @@ get(position: number): ListNode | undefined Finds and returns the node with specific position in the list: ```js -list.addManyTail(['a', 'b', 'c']); +list.addTailMany(['a', 'b', 'c']); // "a" <-> "b" <-> "c" @@ -1346,7 +1346,7 @@ indexOf(value: T, compareFn?: ListComparisonFn): number Finds the position of the first node from the list that has the given value: ```js -list.addManyTail(['a', 'b', 'b', 'c']); +list.addTailMany(['a', 'b', 'b', 'c']); // "a" <-> "b" <-> "b" <-> "c" @@ -1368,7 +1368,7 @@ i3 === -1 You may pass a custom compare function to detect the searched value: ```js -list.addManyTail([{ x: 1 }, { x: 0 }, { x: 2 }, { x: 0 }, { x: 3 }]); +list.addTailMany([{ x: 1 }, { x: 0 }, { x: 2 }, { x: 0 }, { x: 3 }]); // {"x":1} <-> {"x":0} <-> {"x":2} <-> {"x":0} <-> {"x":3} @@ -1408,7 +1408,7 @@ forEach(iteratorFn: ListIteratorFn): void Runs a function on all nodes in a linked list from head to tail: ```js -list.addManyTail(['a', 'b', 'c']); +list.addTailMany(['a', 'b', 'c']); // "a" <-> "b" <-> "c" @@ -1425,7 +1425,7 @@ list.forEach((node, index) => console.log(node.value + index)); A linked list is iterable. In other words, you may use methods like `for...of` on it. ```js -list.addManyTail(['a', 'b', 'c']); +list.addTailMany(['a', 'b', 'c']); // "a" <-> "b" <-> "c" @@ -1449,7 +1449,7 @@ toArray(): T[] Converts a linked list to an array of values: ```js -list.addManyTail(['a', 'b', 'c']); +list.addTailMany(['a', 'b', 'c']); // "a" <-> "b" <-> "c" @@ -1471,7 +1471,7 @@ toNodeArray(): ListNode[] Converts a linked list to an array of nodes: ```js -list.addManyTail(['a', 'b', 'c']); +list.addTailMany(['a', 'b', 'c']); // "a" <-> "b" <-> "c" @@ -1495,7 +1495,7 @@ toString(mapperFn: ListMapperFn = JSON.stringify): string Converts a linked list to a string representation of nodes and their relations: ```js -list.addManyTail(['a', 2, 'c', { k: 4, v: 'd' }]); +list.addTailMany(['a', 2, 'c', { k: 4, v: 'd' }]); // "a" <-> 2 <-> "c" <-> {"k":4,"v":"d"} @@ -1562,7 +1562,7 @@ export class ListNode { - `previous` refers to the previous node in the list. ```js -list.addManyTail([ 0, 1, 2 ]); +list.addTailMany([ 0, 1, 2 ]); console.log( list.head.value, // 0 diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index c0515c18de..8b5d41aa59 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -221,11 +221,8 @@ }, { "text": "Domain Driven Design", + "path": "Domain-Driven-Design.md", "items": [ - { - "text": "Overall", - "path": "Domain-Driven-Design.md" - }, { "text": "Domain Layer", "items": [ @@ -340,22 +337,10 @@ "text": "Permission Management", "path": "UI/Angular/Permission-Management.md" }, - { - "text": "Confirmation Popup", - "path": "UI/Angular/Confirmation-Service.md" - }, - { - "text": "Toast Overlay", - "path": "UI/Angular/Toaster-Service.md" - }, { "text": "Config State", "path": "UI/Angular/Config-State.md" }, - { - "text": "Modifying the Menu", - "path": "UI/Angular/Modifying-the-Menu.md" - }, { "text": "Component Replacement", "path": "UI/Angular/Component-Replacement.md" @@ -400,11 +385,8 @@ }, { "text": "Data Access", + "path": "Data-Access.md", "items": [ - { - "text": "Overall", - "path": "Data-Access.md" - }, { "text": "Connection Strings", "path": "Connection-Strings.md" @@ -487,11 +469,8 @@ }, { "text": "Startup Templates", + "path": "Startup-Templates/Index.md", "items": [ - { - "text": "Overall", - "path": "Startup-Templates/Index.md" - }, { "text": "Application", "path": "Startup-Templates/Application.md" diff --git a/docs/zh-Hans/API/Auto-API-Controllers.md b/docs/zh-Hans/API/Auto-API-Controllers.md index c3f5d44d71..93ac124913 100644 --- a/docs/zh-Hans/API/Auto-API-Controllers.md +++ b/docs/zh-Hans/API/Auto-API-Controllers.md @@ -6,7 +6,7 @@ ABPå¯ä»¥æŒ‰ç…§æƒ¯ä¾‹ **自动** å°†ä½ çš„åº”ç”¨ç¨‹åºæœåŠ¡é…置为API控制 ## é…ç½® -基本é…置很简å•. åªéœ€é…ç½®`AbpAspNetCoreMvcOptions`并使用`ConventionalControllers.Create`方法,如下所示: +基本é…置很简å•. åªéœ€é…ç½®`AbpAspNetCoreMvcOptions`并使用`ConventionalControllers.Create`方法,如下所示: ````csharp [DependsOn(BookStoreApplicationModule)] @@ -82,7 +82,7 @@ Configure(options => * 删除'**Async**'åŽç¼€. 如果方法å称为'GetPhonesAsync',则å˜ä¸º`GetPhones`. * 删除**HTTP methodå‰ç¼€**. 基于的HTTP method删除`GetList`,`GetAll`,`Get`,`Put`,`Update`,`Delete`,`Remove`,`Create`,`Add`,`Insert`,`Post`å’Œ`Patch`å‰ç¼€, å› æ­¤`GetPhones`å˜ä¸º`Phones`, 因为`Get`å‰ç¼€å’ŒGET请求é‡å¤. * 将结果转æ¢ä¸º**camelCase**. - * 如果生æˆçš„æ“ä½œå称为**空**,则它ä¸ä¼šæ·»åŠ åˆ°è·¯å¾„ä¸­.å¦åˆ™å®ƒä¼šè¢«æ·»åŠ åˆ°è·¯ç”±ä¸­(例如'/phones').对于`GetAllAsync`方法åç§°,它将为空,因为`GetPhonesAsync`方法å称将为`phone`. + * 如果生æˆçš„æ“ä½œå称为**空**,则它ä¸ä¼šæ·»åŠ åˆ°è·¯å¾„ä¸­.å¦åˆ™å®ƒä¼šè¢«æ·»åŠ åˆ°è·¯ç”±ä¸­(例如'/phones').对于`GetAllAsync`方法å称,它将为空,因为`GetPhonesAsync`方法å称将为`phone`. * å¯ä»¥é€šè¿‡è®¾ç½®`UrlActionNameNormalizer`选项æ¥è‡ªå®šä¹‰.It's an action delegate that is called for every method. * 如果有å¦ä¸€ä¸ªå¸¦æœ‰'Id'åŽç¼€çš„傿•°,那么它也会作为最终路线段添加到路线中(例如'/phoneId'). diff --git a/docs/zh-Hans/Application-Services.md b/docs/zh-Hans/Application-Services.md index d0e29c2881..72e0319cde 100644 --- a/docs/zh-Hans/Application-Services.md +++ b/docs/zh-Hans/Application-Services.md @@ -380,4 +380,4 @@ public class DistrictKey ### 生命周期 -应用æœåŠ¡çš„ç”Ÿå‘½å‘¨æœŸæ˜¯[transient](Dependency-Injection)çš„,它们会自动注册到ä¾èµ–注入系统. \ No newline at end of file +应用æœåŠ¡çš„ç”Ÿå‘½å‘¨æœŸæ˜¯[transient](Dependency-Injection)的,它们会自动注册到ä¾èµ–注入系统. \ No newline at end of file diff --git a/docs/zh-Hans/AspNetCore/Tag-Helpers/Buttons.md b/docs/zh-Hans/AspNetCore/Tag-Helpers/Buttons.md index ebfeb6f2aa..848d043312 100644 --- a/docs/zh-Hans/AspNetCore/Tag-Helpers/Buttons.md +++ b/docs/zh-Hans/AspNetCore/Tag-Helpers/Buttons.md @@ -86,7 +86,7 @@ ABP框架定义了Tag Helper用于简å•的创建bootstrap按钮. ### `icon-type` -`icon-type` 是一个å¯é€‰å‚æ•°.它的默认值是 `FontAwesome`. ä½ å¯ä»¥åˆ›å»ºè‡ªå·±çš„图标类型æä¾›ç¨‹åºå¹¶æ›´æ”¹å®ƒ. +`icon-type` 是一个å¯é€‰å‚数。它的默认值是 `FontAwesome`. ä½ å¯ä»¥åˆ›å»ºè‡ªå·±çš„图标类型æä¾›ç¨‹åºå¹¶æ›´æ”¹å®ƒ. ä½ å¯ä»¥ä¸ºæŒ‰é’®é€‰æ‹©ä»¥ä¸‹å›¾æ ‡ç±»åž‹: diff --git a/docs/zh-Hans/Audit-Logging.md b/docs/zh-Hans/Audit-Logging.md index a8b6e66449..a028e640b2 100644 --- a/docs/zh-Hans/Audit-Logging.md +++ b/docs/zh-Hans/Audit-Logging.md @@ -43,12 +43,12 @@ Configure(options => * `IsEnabledForGetRequests` (默认值: `false`): HTTP GET请求通常ä¸åº”该在数æ®åº“进行任何更改,审计日志系统ä¸ä¼šä¸ºGET请求ä¿å­˜å®¡è®¡æ—¥å¿—对象. 将此值设置为 `true` å¯ä¸ºGET请求å¯ç”¨å®¡è®¡æ—¥å¿—系统. * `ApplicationName`: 如果有多个应用程åºä¿å­˜å®¡è®¡æ—¥å¿—到å•一的数æ®åº“,使用此属性设置为你的应用程åºå称区分ä¸åŒçš„åº”ç”¨ç¨‹åºæ—¥å¿—. * `IgnoredTypes`: 审计日志系统忽略的 `Type` 列表. 如果它是实体类型,则ä¸ä¼šä¿å­˜æ­¤ç±»åž‹å®žä½“的更改. 在åºåˆ—化æ“ä½œå‚æ•°æ—¶ä¹Ÿä½¿ç”¨æ­¤åˆ—表. -* `EntityHistorySelectors`:选择器列表,用于确定是å¦é€‰æ‹©äº†ç”¨äºŽä¿å­˜å®žä½“更改的实体类型. 有关详细信æ¯è¯·å‚阅下é¢çš„部分. +* `EntityHistorySelectors`:选择器列表,用于确定是å¦é€‰æ‹©äº†ç”¨äºŽä¿å­˜å®žä½“更改的实体类型. 有关详细信æ¯è¯·å‚阅下é¢çš„部分. * `Contributors`: `AuditLogContributor` 实现的列表. è´¡çŒ®è€…æ˜¯æ‰©å±•å®¡è®¡æ—¥å¿—ç³»ç»Ÿçš„ä¸€ç§æ–¹å¼. 有关详细信æ¯è¯·å‚阅下é¢çš„"审计日志贡献者"部分. ### 实体历å²é€‰æ‹©å™¨ -ä¿å­˜ä½ çš„æ‰€æœ‰å®žä½“的所有å˜åŒ–将需è¦å¤§é‡çš„æ•°æ®åº“空间. 出于这个原因**审计日志系统ä¸ä¿å­˜ä¸ºå®žä½“的任何改å˜,除éžä½ æ˜Žç¡®åœ°å¯¹å…¶è¿›è¡Œé…ç½®**. +ä¿å­˜æ‚¨çš„æ‰€æœ‰å®žä½“的所有å˜åŒ–将需è¦å¤§é‡çš„æ•°æ®åº“空间. 出于这个原因**审计日志系统ä¸ä¿å­˜ä¸ºå®žä½“的任何改å˜,除éžä½ æ˜Žç¡®åœ°å¯¹å…¶è¿›è¡Œé…ç½®**. è¦ä¿å­˜çš„æ‰€æœ‰å®žä½“的所有更改,åªéœ€ä½¿ç”¨ `AddAllEntities()` 扩展方法. @@ -131,7 +131,7 @@ public class HomeController : AbpController å¯ä»¥ä¸ºä»»ä½•类型的类(注册到[ä¾èµ–注入](Dependency-Injection.md)并从ä¾èµ–注入解æž)å¯ç”¨å®¡è®¡æ—¥å¿—,é»˜è®¤æƒ…å†µä¸‹ä»…å¯¹æŽ§åˆ¶å™¨å’Œåº”ç”¨ç¨‹åºæœåŠ¡å¯ç”¨. -对于任何需è¦è¢«å®¡è®¡è®°å½•的类或方法都å¯ä»¥ä½¿ç”¨ `[Audited]` å’Œ`IAuditingEnabled`.此外,你的类å¯ä»¥(直接或固有的)实现 `IAuditingEnabled` 接å£ä»¥è®¤å¯ç”¨è¯¥ç±»çš„审计日志记录. +对于任何需è¦è¢«å®¡è®¡è®°å½•的类或方法都å¯ä»¥ä½¿ç”¨ `[Audited]` å’Œ`IAuditingEnabled`.此外,您的类å¯ä»¥(直接或固有的)实现 `IAuditingEnabled` 接å£ä»¥è®¤å¯ç”¨è¯¥ç±»çš„审计日志记录. ### å¯ç”¨/ç¦ç”¨ 实体 & 属性 @@ -211,8 +211,8 @@ public class MyUser : Entity * **AuditLogInfo**: 具有以下属性: * `ApplicationName`: 当你ä¿å­˜ä¸åŒçš„应用审计日志到åŒä¸€ä¸ªæ•°æ®åº“,这个属性用æ¥åŒºåˆ†åº”用程åº. - * `UserId`:当å‰ç”¨æˆ·çš„Id,用户未登录为 `null`. - * `UserName`:当å‰ç”¨æˆ·çš„用户å,如果用户已ç»ç™»å½•(这里的值ä¸ä¾èµ–于标识模å—/系统进行查找). + * `UserId`:当å‰ç”¨æˆ·çš„Id,用户未登录为 `null`. + * `UserName`:当å‰ç”¨æˆ·çš„用户å,如果用户已ç»ç™»å½•(这里的值ä¸ä¾èµ–于标识模å—/系统进行查找). * `TenantId`: 当å‰ç§Ÿæˆ·çš„Id,对于多租户应用. * `TenantName`: 当å‰ç§Ÿæˆ·çš„åç§°,对于多租户应用. * `ExecutionTime`: 审计日志对象创建的时间. @@ -222,28 +222,28 @@ public class MyUser : Entity * `ClientIpAddress`: 客户端/用户设备的IP地å€. * `CorrelationId`: 当å‰[相关Id](CorrelationId.md). 相关Id用于在å•个逻辑æ“作中关è”ç”±ä¸åŒåº”用程åº(或微æœåŠ¡)写入的审计日志. * `BrowserInfo`: 当å‰ç”¨æˆ·çš„æµè§ˆå™¨åç§°/版本信æ¯,如果有的è¯. - * `HttpMethod`: 当å‰HTTP请求的方法(GET,POST,PUT,DELETE ...ç­‰). + * `HttpMethod`: 当å‰HTTP请求的方法(GET,POST,PUT,DELETE ...ç­‰). * `HttpStatusCode`: HTTPå“应状æ€ç . * `Url`: 请求的URL. * **AuditLogActionInfo**: 一个 审计日志动作通常是web请求期间控制器动作或[应用æœåŠ¡](Application-Services.md)方法调用. 一个审计日志å¯ä»¥åŒ…å«å¤šä¸ªåŠ¨ä½œ. 动作对象具有以下属性: - * `ServiceName`:执行的控制器/æœåŠ¡çš„åç§°. - * `MethodName`:控制器/æœåŠ¡æ‰§è¡Œçš„æ–¹æ³•çš„åç§°. - * `Parameters`:ä¼ é€’ç»™æ–¹æ³•çš„å‚æ•°çš„JSON格文本. + * `ServiceName`:执行的控制器/æœåŠ¡çš„åç§°. + * `MethodName`:控制器/æœåŠ¡æ‰§è¡Œçš„æ–¹æ³•çš„åç§°. + * `Parameters`ï¼šä¼ é€’ç»™æ–¹æ³•çš„å‚æ•°çš„JSON格文本. * `ExecutionTime`: 执行的时间. * `ExecutionDuration`: 方法执行时长,以毫秒为å•ä½. å¯ä»¥ç”¨æ¥è§‚察方法的性能. * **EntityChangeInfo**: 表示一个实体在Webè¯·æ±‚ä¸­çš„å˜æ›´. 审计日志å¯ä»¥åŒ…å«0ä¸ªæˆ–å¤šä¸ªå®žä½“çš„å˜æ›´. å®žä½“å˜æ›´å…·æœ‰ä»¥ä¸‹å±žæ€§: * `ChangeTime`: 当实体被改å˜çš„æ—¶é—´. - * `ChangeType`:具有以下字段的枚举: `Created`(0), `Updated`(1)å’Œ `Deleted`(2). + * `ChangeType`:具有以下字段的枚举: `Created`(0), `Updated`(1)å’Œ `Deleted`(2). * `EntityId`: 更改实体的Id. - * `EntityTenantId`:实体所属的租户Id. + * `EntityTenantId`:实体所属的租户Id. * `EntityTypeFullName`: 实体的类型(ç±»)的完整命å空间åç§°(例如Book实体的*Acme.BookStore.Book*. * **EntityPropertyChangeInfo**: 表示一个实体的属性的更改.一个实体的更改信æ¯(上é¢å·²è¯´æ˜Ž)å¯å«æœ‰å…·æœ‰ä»¥ä¸‹å±žæ€§çš„一个或多个属性的更改: * `NewValue`: 属性的新值. 如果实体已被删除为 `null`. - * `OriginalValue`:å˜æ›´å‰æ—§/åˆå§‹å€¼. 如果实体是新创建为 `null`. + * `OriginalValue`ï¼šå˜æ›´å‰æ—§/åˆå§‹å€¼. 如果实体是新创建为 `null`. * `PropertyName`: 实体类的属性åç§°. - * `PropertyTypeFullName`:属性类型的完整命å空间åç§°. + * `PropertyTypeFullName`:属性类型的完整命å空间åç§°. * **Exception**: 审计日志对象å¯èƒ½åŒ…å«é›¶ä¸ªæˆ–多个异常. å¯ä»¥å¾—到失败请求的异常信æ¯. -* **Comment**:ç”¨äºŽå°†è‡ªå®šä¹‰æ¶ˆæ¯æ·»åŠ åˆ°å®¡è®¡æ—¥å¿—æ¡ç›®çš„ä»»æ„字符串值. 审计日志对象å¯èƒ½åŒ…å«é›¶ä¸ªæˆ–多个注释. +* **Comment**ï¼šç”¨äºŽå°†è‡ªå®šä¹‰æ¶ˆæ¯æ·»åŠ åˆ°å®¡è®¡æ—¥å¿—æ¡ç›®çš„ä»»æ„字符串值. 审计日志对象å¯èƒ½åŒ…å«é›¶ä¸ªæˆ–多个注释. 除了上é¢è¯´æ˜Žçš„æ ‡å‡†å±žæ€§ä¹‹å¤–,`AuditLogInfo`, `AuditLogActionInfo` å’Œ `EntityChangeInfo` 对象还实现了`IHasExtraProperties` 接å£,ä½ å¯ä»¥å‘这些对象添加自定义属性. @@ -331,7 +331,7 @@ public class MyService : ITransientDependency ### 手动创建审计日志范围 ä½ å¾ˆå°‘éœ€è¦æ‰‹åŠ¨åˆ›å»ºå®¡è®¡æ—¥å¿—çš„èŒƒå›´,但如果你需è¦,å¯ä»¥ä½¿ç”¨ `IAuditingManager` 创建审计日志的范围. -例: +例: ````csharp public class MyService : ITransientDependency @@ -366,7 +366,7 @@ public class MyService : ITransientDependency } ```` -ä½ å¯ä»¥è°ƒç”¨å…¶ä»–æœåŠ¡,它们å¯èƒ½è°ƒç”¨å…¶ä»–æœåŠ¡,它们å¯èƒ½æ›´æ”¹å®žä½“,等等. 所有这些交互都ä¿å­˜ä¸ºfinallyå—中的一个审计日志对象. +您å¯ä»¥è°ƒç”¨å…¶ä»–æœåŠ¡,它们å¯èƒ½è°ƒç”¨å…¶ä»–æœåŠ¡,它们å¯èƒ½æ›´æ”¹å®žä½“,等等. 所有这些交互都ä¿å­˜ä¸ºfinallyå—中的一个审计日志对象. ## å®¡è®¡æ—¥å¿—æ¨¡å— diff --git a/docs/zh-Hans/Authorization.md b/docs/zh-Hans/Authorization.md index 99139be3ac..a43565279e 100644 --- a/docs/zh-Hans/Authorization.md +++ b/docs/zh-Hans/Authorization.md @@ -153,7 +153,7 @@ myGroup.AddPermission( myGroup.AddPermission("Author_Management", isEnabled: false); ```` -通常你ä¸éœ€è¦å®šä¹‰ç¦ç”¨æƒé™(除éžä½ æš‚时想è¦ç¦ç”¨åº”用程åºçš„功能). 无论怎样,ä½ å¯èƒ½æƒ³è¦ç¦ç”¨ä¾èµ–模å—中定义的æƒé™,这样你å¯ä»¥ç¦ç”¨ç›¸å…³çš„功能. å‚阅下é¢çš„ "*更改ä¾èµ–模å—çš„æƒé™å®šä¹‰*" 节,查看示例用法. +通常你ä¸éœ€è¦å®šä¹‰ç¦ç”¨æƒé™(é™¤éžæ‚¨æš‚时想è¦ç¦ç”¨åº”用程åºçš„功能). 无论怎样,ä½ å¯èƒ½æƒ³è¦ç¦ç”¨ä¾èµ–模å—中定义的æƒé™,这样你å¯ä»¥ç¦ç”¨ç›¸å…³çš„功能. å‚阅下é¢çš„ "*更改ä¾èµ–模å—çš„æƒé™å®šä¹‰*" 节,查看示例用法. > 注æ„:检查一个未定义的æƒé™ä¼šæŠ›å‡ºå¼‚常,而被ç¦ç”¨çš„æƒé™çš„è¿”å›žç¦æ­¢(false). diff --git a/docs/zh-Hans/Background-Workers.md b/docs/zh-Hans/Background-Workers.md index 1daedde384..dfd26c7b82 100644 --- a/docs/zh-Hans/Background-Workers.md +++ b/docs/zh-Hans/Background-Workers.md @@ -2,7 +2,7 @@ ## ä»‹ç» -背景工人在应用简å•独立的线程在åŽå°è¿è¡Œ.一般æ¥è¯´,他们定期è¿è¡Œ,以执行一些任务.例å­; +背景工人在应用简å•独立的线程在åŽå°è¿è¡Œã€‚一般æ¥è¯´ï¼Œä»–们定期è¿è¡Œï¼Œä»¥æ‰§è¡Œä¸€äº›ä»»åŠ¡ã€‚ä¾‹å­; åŽå°å·¥ä½œè€…在应用程åºåŽå°è¿è¡Œçš„简å•的独立线程,一般æ¥è¯´å®ƒä»¬å®šæœŸè¿è¡Œæ‰§è¡Œä¸€äº›ä»»åŠ¡.例如; * åŽå°å·¥ä½œè€…å¯ä»¥å®šæœŸ**删除过时的日志**. @@ -72,7 +72,7 @@ public class PassiveUserCheckerWorker : AsyncPeriodicBackgroundWorkerBase } ```` -* `AsyncPeriodicBackgroundWorkerBase` 使用 `AbpTimer`(线程安全定时器)对象æ¥ç¡®å®š**时间段**. 我们å¯ä»¥åœ¨æž„造函数中设置了`Period` 属性. +* `AsyncPeriodicBackgroundWorkerBase` 使用 `AbpTimer`(线程安全定时器)对象æ¥ç¡®å®š**时间段**. 我们å¯ä»¥åœ¨æž„造函数中设置了`Period` 属性。 * 它需è¦å®žçް `DoWorkAsync` 方法**执行**定期任务. * 最好使用 `PeriodicBackgroundWorkerContext` **è§£æžä¾èµ–** è€Œä¸æ˜¯æž„造函数. 因为 `AsyncPeriodicBackgroundWorkerBase` 使用 `IServiceScope` åœ¨ä½ çš„ä»»åŠ¡æ‰§è¡Œç»“æŸæ—¶ä¼šå¯¹å…¶ **disposed**. * `AsyncPeriodicBackgroundWorkerBase` **æ•获并记录** ç”± `DoWorkAsync` 方法抛出的 **异常**. diff --git a/docs/zh-Hans/Blog-Posts/2019-02-22/Post.md b/docs/zh-Hans/Blog-Posts/2019-02-22/Post.md index 998a454abc..30a5d691e9 100644 --- a/docs/zh-Hans/Blog-Posts/2019-02-22/Post.md +++ b/docs/zh-Hans/Blog-Posts/2019-02-22/Post.md @@ -13,7 +13,7 @@ ABP框架的主è¦ç›®æ ‡ä¹‹ä¸€æ˜¯æä¾›[创建微æœåŠ¡è§£å†³æ–¹æ¡ˆçš„ä¾¿åˆ©åŸº - 使用[Ocelot](https://github.com/ThreeMammals/Ocelot)库开å‘了多个**网关** / BFF(åŽç«¯ä¸ºå‰ç«¯(Backend for Frontends)). - 使用[IdentityServer](https://identityserver.io/)框架开å‘**èº«ä»½éªŒè¯æœåŠ¡**.它也是一个带有必è¦UIçš„SSO(å•点登录)应用程åº. - 有**多个数æ®åº“**.一些微æœåŠ¡æœ‰è‡ªå·±çš„æ•°æ®åº“,而一些æœåŠ¡/应用程åºå…±äº«ä¸€ä¸ªæ•°æ®åº“(以演示ä¸åŒçš„用例). -- 具有ä¸åŒç±»åž‹çš„æ•°æ®åº“:**SQL Server**(使用**Entity Framework Core** ORM)å’Œ**MongoDB**. +- 具有ä¸åŒç±»åž‹çš„æ•°æ®åº“:**SQL Server**(使用**Entity Framework Core** ORM)å’Œ**MongoDB**. - 有一个**控制å°åº”用程åº**æ¥æ˜¾ç¤ºé€šè¿‡èº«ä»½éªŒè¯ä½¿ç”¨æœåŠ¡çš„æœ€ç®€å•æ–¹æ³•. - 使用[Redis](https://redis.io/)进行**分布å¼ç¼“å­˜**. - 使用[RabbitMQ](https://www.rabbitmq.com/)进行æœåŠ¡åˆ°æœåŠ¡(service-to-service)çš„**消æ¯ä¼ é€’**. @@ -28,27 +28,27 @@ ABP框架的主è¦ç›®æ ‡ä¹‹ä¸€æ˜¯æä¾›[创建微æœåŠ¡è§£å†³æ–¹æ¡ˆçš„ä¾¿åˆ©åŸº ## 路线图 -在第一个稳定版本(v1.0)之å‰è¿˜æœ‰å¾ˆå¤šå·¥ä½œè¦åš.ä½ å¯ä»¥åœ¨GitHub仓库上看到[优先的积压项目](https://github.com/abpframework/abp/issues?q=is%3Aopen+is%3Aissue+milestone%3ABacklog). +在第一个稳定版本(v1.0)之å‰è¿˜æœ‰å¾ˆå¤šå·¥ä½œè¦åš.您å¯ä»¥åœ¨GitHub仓库上看到[优先的积压项目](https://github.com/abpframework/abp/issues?q=is%3Aopen+is%3Aissue+milestone%3ABacklog). æ ¹æ®æˆ‘们的估计,我们计划在2019年第二季度(å¯èƒ½åœ¨äº”月或六月)å‘布v1.0.所以,ä¸ç”¨ç­‰å¾…太长时间了.我们也对第一个稳定版本感到éžå¸¸å…´å¥‹. 我们还将完善[文档](https://abp.io/documents/abp/latest),因为它现在还远未完æˆ. -第一个版本å¯èƒ½ä¸åŒ…å«SPA模æ¿.但是,如果å¯èƒ½çš„è¯,我们想è¦å‡†å¤‡ä¸€ä¸ªç®€å•些的.SPA框架还没有确定下æ¥.备选有:**Angular,Reactå’ŒBlazor**.请将你的想法写为对此帖的评论. +第一个版本å¯èƒ½ä¸åŒ…å«SPA模æ¿.但是,如果å¯èƒ½çš„è¯,我们想è¦å‡†å¤‡ä¸€ä¸ªç®€å•些的.SPA框架还没有确定下æ¥.备选有:**Angular,Reactå’ŒBlazor**.请将您的想法写为对此帖的评论. ## 中文网 -中国有一个大型的ABP社区.他们创建了一个中文版的abp.io网站:https://abp.io/. ä»–ä»¬ä¸€ç›´åœ¨ä¿æŒæ›´æ–°.感谢中国的开å‘人员,特别是[Liming Ma](https://github.com/maliming). +中国有一个大型的ABP社区.他们创建了一个中文版的abp.io网站:https://abp.io/. ä»–ä»¬ä¸€ç›´åœ¨ä¿æŒæ›´æ–°.感谢中国的开å‘人员,特别是[Liming Ma](https://github.com/maliming). ## NDC {London} 2019 很高兴作为åˆä½œä¼™ä¼´å‚加[NDC {London}](https://ndc-london.com/)2019 .我们已ç»ä¸Žè®¸å¤šå¼€å‘人员讨论过当å‰çš„ASP.NET Boilerplateå’ŒABP vNext,我们得到了很好的å馈. -我们还有机会与[Scott Hanselman](https://twitter.com/shanselman)å’Œ[Jon Galloway](https://twitter.com/jongalloway)交谈.他们å‚观了我们的展ä½,我们谈到了ABP vNext的想法.他们喜欢新的ABP框架的功能,方法和目标.在twitter上查看一些照片和评论: +我们还有机会与[Scott Hanselman](https://twitter.com/shanselman)å’Œ[Jon Galloway](https://twitter.com/jongalloway)交谈.他们å‚观了我们的展ä½,我们谈到了ABP vNext的想法.他们喜欢新的ABP框架的功能,方法和目标.在twitter上查看一些照片和评论: ![scott-and-jon](scott-and-jon.png) ## è·Ÿä¸Šæ­¥ä¼ -* ä½ å¯ä»¥æ ‡æ˜Ÿå¹¶å…³æ³¨**GitHub**存储库:https://github.com/abpframework/abp -* ä½ å¯ä»¥å…³æ³¨å®˜æ–¹**Twitter**叿ˆ·èŽ·å–æ–°é—»:https://twitter.com/abpframework +* 您å¯ä»¥æ ‡æ˜Ÿå¹¶å…³æ³¨**GitHub**存储库:https://github.com/abpframework/abp +* 您å¯ä»¥å…³æ³¨å®˜æ–¹**Twitter**叿ˆ·èŽ·å–æ–°é—»ï¼šhttps://twitter.com/abpframework diff --git a/docs/zh-Hans/Blog-Posts/2019-06-19 v0_18_Release/Post.md b/docs/zh-Hans/Blog-Posts/2019-06-19 v0_18_Release/Post.md index 6b3c76d2e2..a25e1c0a97 100644 --- a/docs/zh-Hans/Blog-Posts/2019-06-19 v0_18_Release/Post.md +++ b/docs/zh-Hans/Blog-Posts/2019-06-19 v0_18_Release/Post.md @@ -4,7 +4,7 @@ ABP v0.18å·²å‘布, 包å«è§£å†³çš„[80+个issue](https://github.com/abpframework ## 网站更改 -[abp.io](https://abp.io)网站**完全更新**以çªå‡ºABP框架的目标和é‡è¦åŠŸèƒ½.文档和åšå®¢ç½‘å€ä¹Ÿä¼šæ›´æ”¹: +[abp.io](https://abp.io)网站**完全更新**以çªå‡ºABP框架的目标和é‡è¦åŠŸèƒ½.文档和åšå®¢ç½‘å€ä¹Ÿä¼šæ›´æ”¹ï¼š - `abp.io/documents`移至[docs.abp.io](https://docs.abp.io). - `abp.io/blog`转移到[blog.abp.io](https://blog.abp.io). @@ -21,25 +21,25 @@ ABP CLI现在是创建新项目的首选方å¼,ä½ ä»ç„¶å¯ä»¥ä»Ž[开始](https: ### 用法 -使用命令行窗å£å®‰è£…ABP CLI: +使用命令行窗å£å®‰è£…ABP CLI: ```` bash dotnet tool install -g Volo.Abp.Cli ```` -创建一个新应用程åº: +创建一个新应用程åºï¼š ```` bash abp new Acme.BookStore ```` -å°†æ¨¡å—æ·»åŠ åˆ°åº”ç”¨ç¨‹åº: +å°†æ¨¡å—æ·»åŠ åˆ°åº”ç”¨ç¨‹åºï¼š ```` bash abp add-module Volo.Blogging ```` -更新解决方案中所有与ABP相关的包: +更新解决方案中所有与ABP相关的包: ```` bash abp update @@ -59,7 +59,7 @@ abp update ## 更改日志 -以下是此版本附带的一些其他功能和增强功能: +以下是此版本附带的一些其他功能和增强功能: * æ–°[Volo.Abp.Dapper](https://www.nuget.org/packages/Volo.Abp.Dapper)包. * æ–°[Volo.Abp.Specifications](https://www.nuget.org/packages/Volo.Abp.Specifications)包. diff --git a/docs/zh-Hans/Blog-Posts/2019-08-16 v0_19_Release/Post.md b/docs/zh-Hans/Blog-Posts/2019-08-16 v0_19_Release/Post.md index 9f82f6dce3..831cc791e9 100644 --- a/docs/zh-Hans/Blog-Posts/2019-08-16 v0_19_Release/Post.md +++ b/docs/zh-Hans/Blog-Posts/2019-08-16 v0_19_Release/Post.md @@ -14,12 +14,12 @@ ABP v0.19å·²å‘布,包å«è§£å†³çš„[~90个问题](https://github.com/abpframework * 更新了[ABP CLI](https://docs.abp.io/en/abp/latest/CLI)å’Œ[下载页é¢](https://abp.io/get-started),以便能够使用新的UI选项生æˆé¡¹ç›®. * 创建了[教程](https://docs.abp.io/en/abp/latest/Tutorials/Angular/Part-I)以使用新的UI选项快速入门. -我们基于最新的Angular工具和趋势创建了模æ¿,文档和基础架构: +我们基于最新的Angular工具和趋势创建了模æ¿,文档和基础架构: * 使用[NgBootstrap](https://ng-bootstrap.github.io/)å’Œ[PrimeNG](https://www.primefaces.org/primeng/)作为UI组件库.ä½ å¯ä»¥ä½¿ç”¨è‡ªå·±å–œæ¬¢çš„库,没问题,但预构建的模å—å¯ä»¥ä½¿ç”¨è¿™äº›åº“. * 使用[NGXS](https://ngxs.gitbook.io/ngxs/)作为状æ€ç®¡ç†åº“. -Angular是第一个SPA UI选项,ä½†å®ƒä¸æ˜¯æœ€åŽä¸€ä¸ª.在v1.0å‘布之åŽ,我们将开始第二个UI选项的工作.虽然尚未决定,但候选的有Blazor,Reactå’ŒVue.js. 等待你的å馈.ä½ å¯ä»¥ä½¿ç”¨ä»¥ä¸‹issue进行投票(thumb): +Angular是第一个SPA UI选项,ä½†å®ƒä¸æ˜¯æœ€åŽä¸€ä¸ª.在v1.0å‘布之åŽ,我们将开始第二个UI选项的工作.虽然尚未决定,但候选的有Blazor,Reactå’ŒVue.js. 等待你的å馈.ä½ å¯ä»¥ä½¿ç”¨ä»¥ä¸‹issue进行投票(thumb): * [Blazor](https://github.com/abpframework/abp/issues/394) * [Vue.js](https://github.com/abpframework/abp/issues/1168) diff --git a/docs/zh-Hans/Blog-Posts/2019-09-25 v0_21_Release/Post.md b/docs/zh-Hans/Blog-Posts/2019-09-25 v0_21_Release/Post.md index c4d98244fb..7633f3ea33 100644 --- a/docs/zh-Hans/Blog-Posts/2019-09-25 v0_21_Release/Post.md +++ b/docs/zh-Hans/Blog-Posts/2019-09-25 v0_21_Release/Post.md @@ -14,8 +14,8 @@ ABP框架越æ¥è¶ŠæŽ¥è¿‘v1.0.我们打算在今年10月中旬å‘布1.0. 现在, ## Techoramaè·å…°2019 -[Techorama NL](https://techorama.nl/)是欧洲最大的会议之一.今年,Volosoft是会议的赞助商,并将有一个展ä½ä¸Žè½¯ä»¶å¼€å‘人员讨论ABP框架和软件开å‘.我们的展ä½å¢™å¦‚下图所示: +[Techorama NL](https://techorama.nl/)是欧洲最大的会议之一.今年,Volosoft是会议的赞助商,并将有一个展ä½ä¸Žè½¯ä»¶å¼€å‘人员讨论ABP框架和软件开å‘.我们的展ä½å¢™å¦‚下图所示: ![volosoft-booth](volosoft-booth.png) -如果你也å‚加会议,请到展ä½è®¨è®ºABP框架.我们还为你准备了一些ç§è´§:) +如果您也å‚加会议,请到展ä½è®¨è®ºABP框架.我们还为您准备了一些ç§è´§:) diff --git a/docs/zh-Hans/Blog-Posts/2020-03-19 v2_3_Release/Post.md b/docs/zh-Hans/Blog-Posts/2020-03-19 v2_3_Release/Post.md index 73585582f5..a17bef2e1b 100644 --- a/docs/zh-Hans/Blog-Posts/2020-03-19 v2_3_Release/Post.md +++ b/docs/zh-Hans/Blog-Posts/2020-03-19 v2_3_Release/Post.md @@ -24,7 +24,7 @@ 我们终于完æˆäº†**react native移动应用程åº**.ç›®å‰,它å¯ä»¥è®©ä½ **登录**,管ç†**用户**å’Œ**租户**.它利用ABP框架相åŒçš„设置,授æƒå’Œæœ¬åœ°åŒ–系统. -应用程åºçš„一些截图: +应用程åºçš„一些截图: ![mobile-ui](react-native-ui.png) @@ -34,7 +34,7 @@ 从我们的Angular应用程åºä¸­è°ƒç”¨æœåŠ¡å™¨ä¸­çš„REST端点是很常è§çš„.è¿™ç§æƒ…况下,我们一般创建**æœåŠ¡**(在æœåŠ¡å™¨ä¸ŠåŒ…å«å„个æœåŠ¡çš„æ–¹æ³•)å’Œ**模型对象**(对应æœåŠ¡å™¨ä¸Šçš„[DTO](https://docs.abp.io/en/abp/latest/Data-Transfer-Objects)). -除了手动创建这样的与æœåŠ¡å™¨äº¤äº’çš„æœåС外,我们å¯ä»¥ä½¿ç”¨åƒ[NSWAG](https://github.com/RicoSuter/NSwag)工具æ¥ä¸ºæˆ‘ä»¬ç”ŸæˆæœåС代ç†.但是NSWAG有以下几个我们é‡åˆ°çš„问题: +除了手动创建这样的与æœåŠ¡å™¨äº¤äº’çš„æœåС外,我们å¯ä»¥ä½¿ç”¨åƒ[NSWAG](https://github.com/RicoSuter/NSwag)工具æ¥ä¸ºæˆ‘ä»¬ç”ŸæˆæœåС代ç†.但是NSWAG有以下几个我们é‡åˆ°çš„问题: * 它产生一个**大,å•一**çš„.ts文件; * 当你的应用程åºå¢žé•¿æ—¶,它å˜å¾—**太大**了. @@ -58,12 +58,12 @@ abp generate-proxy ### 添加模å—çš„æºä»£ç  -应用程åºå¯åŠ¨æ¨¡æ¿å¸¦æœ‰ä¸€äº›[应用模å—](https://docs.abp.io/en/abp/latest/Modules/Index), 以**Nugetå’ŒNPM包**的方å¼**预先安装了** .è¿™æ ·åšæœ‰å‡ ä¸ªé‡è¦çš„优点: +应用程åºå¯åŠ¨æ¨¡æ¿å¸¦æœ‰ä¸€äº›[应用模å—](https://docs.abp.io/en/abp/latest/Modules/Index), 以**Nugetå’ŒNPM包**的方å¼**预先安装了** .è¿™æ ·åšæœ‰å‡ ä¸ªé‡è¦çš„优点: * 当新版本å¯ç”¨æ—¶, ä½ å¯ä»¥ **è½»æ¾åœ°[å‡çº§](https://docs.abp.io/en/abp/latest/CLI#update)** 这些模å—. * 你的解决方案**更干净**,这样你就å¯ä»¥ä¸“注于自己的代ç . -但是,当你需è¦å¯¹ä¸€ä¸ªä¾èµ–的模å—**大é‡å®šåˆ¶**æ—¶,å°±ä¸å¦‚它的代ç åœ¨ä½ çš„应用程åºä¸­é‚£ä¹ˆå®¹æ˜“.为了解决这个问题,我们引入了一个[ABP CLI](https://docs.abp.io/en/abp/latest/CLI)的新命令, 在你的解决方案中用代ç **替æ¢**Nuget包.用法很简å•: +但是,当你需è¦å¯¹ä¸€ä¸ªä¾èµ–的模å—**大é‡å®šåˆ¶**æ—¶,å°±ä¸å¦‚它的代ç åœ¨ä½ çš„应用程åºä¸­é‚£ä¹ˆå®¹æ˜“.为了解决这个问题,我们引入了一个[ABP CLI](https://docs.abp.io/en/abp/latest/CLI)的新命令, 在你的解决方案中用代ç **替æ¢**Nuget包.用法很简å•: ````bash abp add-module --with-source-code @@ -75,19 +75,19 @@ abp add-module --with-source-code 此外,我们也创建了文档æ¥è¯´æ˜Žå¦‚何定制ä¾èµ–的模å—è€Œä¸æ”¹å˜å®ƒä»¬çš„æºä»£ç (è§ä¸‹é¢çš„部分).ä»ç„¶å»ºè®®ä»¥åŒ…的方å¼ä½¿ç”¨æ¨¡å—,以便在以åŽå¯ä»¥è½»æ¾å‡çº§. -> å…费模å—çš„æºä»£ç æ˜¯**MIT**许å¯,所以你å¯ä»¥è‡ªç”±æ›´æ”¹å®ƒä»¬å¹¶æ·»åŠ åˆ°ä½ çš„è§£å†³æ–¹æ¡ˆä¸­. +> å…费模å—çš„æºä»£ç æ˜¯**MIT**许å¯,所以你å¯ä»¥è‡ªç”±æ›´æ”¹å®ƒä»¬å¹¶æ·»åŠ åˆ°æ‚¨çš„è§£å†³æ–¹æ¡ˆä¸­. ### 切æ¢åˆ°é¢„览版 ABP框架正在迅速å‘展,我们ç»å¸¸å‘布新版本.ä¸è¿‡,如果你想更紧密地追éšå®ƒ,ä½ å¯ä»¥ä½¿ç”¨**æ¯æ—¥é¢„览包**. -我们创建了一个ABP CLI命令æ¥è½»æ¾åœ°ä¸ºä½ çš„解决方案**更新到最新的预览包**.在你的解决方案的根文件夹中è¿è¡Œä»¥ä¸‹å‘½ä»¤: +我们创建了一个ABP CLI命令æ¥è½»æ¾åœ°ä¸ºä½ çš„解决方案**更新到最新的预览包**.在你的解决方案的根文件夹中è¿è¡Œä»¥ä¸‹å‘½ä»¤ï¼š ````bash abp switch-to-preview ```` -它会修改所有ABP相关的NuGetå’ŒNPM包的版本.å½“ä½ éœ€è¦æ—¶ä½ ä¹Ÿå¯ä»¥**切æ¢å›žæœ€æ–°ç¨³å®šç‰ˆ**: +它会修改所有ABP相关的NuGetå’ŒNPM包的版本.å½“ä½ éœ€è¦æ—¶ä½ ä¹Ÿå¯ä»¥**切æ¢å›žæœ€æ–°ç¨³å®šç‰ˆ**: ````bash abp switch-to-stable @@ -131,7 +131,7 @@ abp switch-to-stable ## 下一步? -我们未æ¥å‡ ä¸ªæœˆçš„目标如下: +我们未æ¥å‡ ä¸ªæœˆçš„目标如下: * 完æˆ**文档和示例**,写更多的教程. * 使框架和现有模å—的更加**å¯å®šåˆ¶å’Œå¯æ‰©å±•**. diff --git a/docs/zh-Hans/CLI.md b/docs/zh-Hans/CLI.md index 658545c4fd..0a802ffdc1 100644 --- a/docs/zh-Hans/CLI.md +++ b/docs/zh-Hans/CLI.md @@ -41,12 +41,12 @@ abp new Acme.BookStore * `--template` 或者 `-t`: 指定模æ¿. é»˜è®¤çš„æ¨¡æ¿æ˜¯ `app`,会生æˆweb项目.å¯ç”¨çš„æ¨¡æ¿æœ‰: * `app` (default): [åº”ç”¨ç¨‹åºæ¨¡æ¿](Startup-Templates/Application.md). 其他选项: - * `--ui` 或者 `-u`: 指定ui框架.默认`mvc`框架.其他选项: - * `mvc`: ASP.NET Core MVC.此模æ¿çš„其他选项: + * `--ui` 或者 `-u`: 指定ui框架.默认`mvc`框架.其他选项: + * `mvc`: ASP.NET Core MVC.此模æ¿çš„其他选项: * `--tiered`: 创建分层解决方案,Webå’ŒHttp Api层在物ç†ä¸Šæ˜¯åˆ†å¼€çš„.如果未指定会创建一个分层的解决方案,æ­¤è§£å†³æ–¹æ¡ˆæ²¡æœ‰é‚£ä¹ˆå¤æ‚,适åˆå¤§å¤šæ•°åœºæ™¯. - * `angular`: Angular. 这个模æ¿è¿˜æœ‰ä¸€äº›é¢å¤–的选项: + * `angular`: Angular. 这个模æ¿è¿˜æœ‰ä¸€äº›é¢å¤–的选项: * `--separate-identity-server`: å°†Identity Server应用程åºä¸ŽAPI host应用程åºåˆ†å¼€. 如果未指定,则æœåŠ¡å™¨ç«¯å°†åªæœ‰ä¸€ä¸ªç«¯ç‚¹. - * `none`: æ— UI. 这个模æ¿è¿˜æœ‰ä¸€äº›é¢å¤–的选项: + * `none`: æ— UI. 这个模æ¿è¿˜æœ‰ä¸€äº›é¢å¤–的选项: * `--separate-identity-server`: å°†Identity Server应用程åºä¸ŽAPI host应用程åºåˆ†å¼€. 如果未指定,则æœåŠ¡å™¨ç«¯å°†åªæœ‰ä¸€ä¸ªç«¯ç‚¹. * `--mobile` 或者 `-m`: æŒ‡å®šç§»åŠ¨åº”ç”¨ç¨‹åºæ¡†æž¶. 默认框架是 `react-native`. 其他选项: * `none`: ä¸åŒ…å«ç§»åŠ¨åº”ç”¨ç¨‹åº. @@ -57,7 +57,7 @@ abp new Acme.BookStore * `module`: [Module template](Startup-Templates/Module.md). 其他选项: * `--no-ui`: ä¸åŒ…å«UI.仅创建æœåŠ¡æ¨¡å—(也称为微æœåŠ¡ - 没有UI). * `--output-folder` 或者 `-o`: 指定输出文件夹,默认是当å‰ç›®å½•. -* `--version` 或者 `-v`: 指定ABP和模æ¿çš„版本.它å¯ä»¥æ˜¯ [release tag](https://github.com/abpframework/abp/releases) 或者 [branch name](https://github.com/abpframework/abp/branches). 如果没有指定,则使用最新版本.大多数情况下,你会希望使用最新的版本. +* `--version` 或者 `-v`: 指定ABP和模æ¿çš„版本.它å¯ä»¥æ˜¯ [release tag](https://github.com/abpframework/abp/releases) 或者 [branch name](https://github.com/abpframework/abp/branches). 如果没有指定,则使用最新版本.大多数情况下,您会希望使用最新的版本. * `--template-source` 或者 `-ts`: æŒ‡å®šè‡ªå®šä¹‰æ¨¡æ¿æºç”¨äºŽç”Ÿæˆé¡¹ç›®,å¯ä»¥ä½¿ç”¨æœ¬åœ°æºå’Œç½‘络æº(例如 `D\localTemplate` 或 `https://.zip`). * `--create-solution-folder` 或者 `-csf`: 指定项目是在输出文件夹中的新文件夹中还是直接在输出文件夹中. * `--connection-string` 或者 `-cs`: é‡å†™æ‰€æœ‰ `appsettings.json` 文件的默认连接字符串. 默认连接字符串是 `Server=localhost;Database=MyProjectName;Trusted_Connection=True;MultipleActiveResultSets=true`. å¦‚æžœä½ ä¸æƒ³ä½¿ç”¨é»˜è®¤,ä½ å¯ä»¥è®¾ç½®è‡ªå·±çš„连接字符串. 默认的数æ®åº“æä¾›ç¨‹åºæ˜¯ `SQL Server`, 所以你åªèƒ½è¾“å…¥SQL Server连接字符串! @@ -135,8 +135,6 @@ abp update [options] * `--include-previews` 或 `-p`: 将预览版, 测试版本 å’Œ rc 包 åŒæ—¶æ›´æ–°åˆ°æœ€æ–°ç‰ˆæœ¬. * `--npm`: ä»…æ›´æ–°NPM包 * `--nuget`: ä»…æ›´æ–°çš„NuGet包 -* `--solution-path` 或 `-sp`: 指定解决方案路径/目录. 默认使用当å‰ç›®å½• -* `--solution-name` 或 `-sn`: 指定解决方案åç§°. 默认在目录中æœç´¢`*.sln`文件. ### 切æ¢åˆ°æ¯æ™šæž„建(预览)包 @@ -166,10 +164,6 @@ CLI的一些功能需è¦ç™»å½•到abp.ioå¹³å°. 使用你的用户å登录 abp login ``` -```bash -abp login -p -``` - 请注æ„,新的登录将终止先å‰çš„会è¯å¹¶åˆ›å»ºä¸€ä¸ªæ–°çš„会è¯. ### logout @@ -192,9 +186,9 @@ abp generate-proxy [options] #### Options -* `--apiUrl` 或者 `-a`:指定HTTP API的根URL. 如果未指定这个选项,默认使用你Angular应用程åºçš„`environment.ts`文件API URL. 在è¿è¡Œ `generate-proxy` 命令之å‰,ä½ çš„hostå¿…é¡»å¯åŠ¨æ­£åœ¨è¿è¡Œ. +* `--apiUrl` 或者 `-a`:指定HTTP API的根URL. 如果未指定这个选项,默认使用你Angular应用程åºçš„`environment.ts`文件API URL. 在è¿è¡Œ `generate-proxy` 命令之å‰,ä½ çš„hostå¿…é¡»å¯åŠ¨æ­£åœ¨è¿è¡Œ. * `--ui` 或者 `-u`: 指定UI框架,默认框架是angular.当å‰åªæœ‰angular一个选项, 但我们会通过更改CLI增加新的选项. 尽请关注! -* `--module` 或者 `-m`:指定模å—å. 默认模å—å称为app. 如果你想所有模å—,ä½ å¯ä»¥æŒ‡å®š `--module all` 命令. +* `--module` 或者 `-m`:指定模å—å. 默认模å—å称为app. 如果你想所有模å—,ä½ å¯ä»¥æŒ‡å®š `--module all` 命令. 示例: diff --git a/docs/zh-Hans/Customizing-Application-Modules-Overriding-Services.md b/docs/zh-Hans/Customizing-Application-Modules-Overriding-Services.md index caa448a14a..1ba35adf80 100644 --- a/docs/zh-Hans/Customizing-Application-Modules-Overriding-Services.md +++ b/docs/zh-Hans/Customizing-Application-Modules-Overriding-Services.md @@ -54,7 +54,7 @@ context.Services.Replace( ## é‡å†™ä¸€ä¸ªæœåŠ¡ç±» -大多数情况下,ä½ ä¼šä»…æƒ³æ”¹å˜æœåС当å‰å®žçŽ°çš„ä¸€ä¸ªæˆ–å‡ ä¸ªæ–¹æ³•. 釿–°å®žçŽ°å®Œæ•´çš„æŽ¥å£å˜çš„ç¹ç,更好的方法是继承原始类并é‡å†™æ–¹æ³•. +大多数情况下,ä½ ä¼šä»…æƒ³æ”¹å˜æœåС当å‰å®žçŽ°çš„ä¸€ä¸ªæˆ–å‡ ä¸ªæ–¹æ³•. 釿–°å®žçŽ°å®Œæ•´çš„æŽ¥å£å˜çš„ç¹ç,更好的方法是继承原始类并é‡å†™æ–¹æ³•。 ### 示例: é‡å†™æœåŠ¡æ–¹æ³• diff --git a/docs/zh-Hans/Entities.md b/docs/zh-Hans/Entities.md index fd8528dc30..1a059e477f 100644 --- a/docs/zh-Hans/Entities.md +++ b/docs/zh-Hans/Entities.md @@ -72,7 +72,7 @@ public class BookAppService : ApplicationService, IBookAppService * `BookAppService` 注入图书实体的默认[仓库](Repositories.md),使用`InsertAsync`方法æ’å…¥ `Book` 到数æ®åº“中. * `GuidGenerator`类型是 `IGuidGenerator`,它是在`ApplicationService`基类中定义的属性. ABP将这样常用属性预注入,所以ä¸éœ€è¦æ‰‹åЍ[注入](Dependency-Injection.md). -* 如果你想éµå¾ªDDD最佳实践,请å‚阅下é¢çš„*èšåˆç¤ºä¾‹*部分. +* 如果您想éµå¾ªDDD最佳实践,请å‚阅下é¢çš„*èšåˆç¤ºä¾‹*部分. ### 具有å¤åˆé”®çš„实体 @@ -228,7 +228,7 @@ ABP框架ä¸å¼ºåˆ¶ä½ åº”用任何DDD规则或模å¼.但是,当你准备应用的 ## 基类和接å£çš„审计属性 -有一些属性,åƒ`CreationTime`,`CreatorId`,`LastModificationTime`...在所有应用中都很常è§. ABP框架æä¾›äº†ä¸€äº›æŽ¥å£å’ŒåŸºç±»æ¥**标准化**这些属性,å¹¶**自动设置它们的值**. +有一些属性,åƒ`CreationTime`,`CreatorId`,`LastModificationTime`...在所有应用中都很常è§. ABP框架æä¾›äº†ä¸€äº›æŽ¥å£å’ŒåŸºç±»æ¥**标准化**这些属性,å¹¶**自动设置它们的值**. ### å®¡è®¡æŽ¥å£ @@ -285,7 +285,7 @@ ABP框架ä¸å¼ºåˆ¶ä½ åº”用任何DDD规则或模å¼.但是,当你准备应用的 æ‰€æœ‰è¿™äº›åŸºç±»éƒ½æœ‰éžæ³›åž‹ç‰ˆæœ¬,å¯ä»¥ä½¿ç”¨ `AuditedEntity` å’Œ `FullAuditedAggregateRoot` æ¥æ”¯æŒå¤åˆä¸»é”®; -所有这些基类也有 `... WithUser`,åƒ `FullAuditedAggregateRootWithUser` å’Œ `FullAuditedAggregateRootWithUser`. 这样就å¯ä»¥å°†å¯¼èˆªå±žæ€§æ·»åŠ åˆ°ä½ çš„ç”¨æˆ·å®žä½“. 但在èšåˆæ ¹ä¹‹é—´æ·»åŠ å¯¼èˆªå±žæ€§ä¸æ˜¯ä¸€ä¸ªå¥½å𿳕,所以这ç§ç”¨æ³•是ä¸å»ºè®®çš„(除éžä½ ä½¿ç”¨EF Core之类的ORMå¯ä»¥å¾ˆå¥½åœ°æ”¯æŒè¿™ç§æƒ…况,并且你真的需è¦å®ƒ. 请记ä½è¿™ç§æ–¹æ³•ä¸é€‚用于NoSQLæ•°æ®åº“(如MongoDB),你必须真正实现èšåˆæ¨¡å¼ï¼‰. +所有这些基类也有 `... WithUser`ï¼Œåƒ `FullAuditedAggregateRootWithUser` å’Œ `FullAuditedAggregateRootWithUser`. 这样就å¯ä»¥å°†å¯¼èˆªå±žæ€§æ·»åŠ åˆ°ä½ çš„ç”¨æˆ·å®žä½“. 但在èšåˆæ ¹ä¹‹é—´æ·»åŠ å¯¼èˆªå±žæ€§ä¸æ˜¯ä¸€ä¸ªå¥½å𿳕,所以这ç§ç”¨æ³•是ä¸å»ºè®®çš„(除éžä½ ä½¿ç”¨EF Core之类的ORMå¯ä»¥å¾ˆå¥½åœ°æ”¯æŒè¿™ç§æƒ…况,并且你真的需è¦å®ƒ. 请记ä½è¿™ç§æ–¹æ³•ä¸é€‚用于NoSQLæ•°æ®åº“(如MongoDB),你必须真正实现èšåˆæ¨¡å¼ï¼‰. ## é¢å¤–的属性 diff --git a/docs/zh-Hans/Entity-Framework-Core-Migrations.md b/docs/zh-Hans/Entity-Framework-Core-Migrations.md index caf5778753..caef6e76f2 100644 --- a/docs/zh-Hans/Entity-Framework-Core-Migrations.md +++ b/docs/zh-Hans/Entity-Framework-Core-Migrations.md @@ -1,7 +1,7 @@  # EF Coreæ•°æ®åº“è¿ç§» -本文首先介ç»[应用程åºå¯åŠ¨æ¨¡æ¿](Startup-Templates/Application.md)æä¾›çš„**默认结构**,并讨论你å¯èƒ½å¸Œæœ›ä¸ºè‡ªå·±çš„应用程åºå®žçŽ°çš„**å„ç§åœºæ™¯**. +本文首先介ç»[应用程åºå¯åŠ¨æ¨¡æ¿](Startup-Templates/Application.md)æä¾›çš„**默认结构**,并讨论您å¯èƒ½å¸Œæœ›ä¸ºè‡ªå·±çš„应用程åºå®žçŽ°çš„**å„ç§åœºæ™¯**. > 本文档适用于希望完全ç†è§£å’Œè‡ªå®šä¹‰[应用程åºå¯åŠ¨æ¨¡æ¿](Startup-Templates/Application.md)附带的数æ®åº“结构的人员. å¦‚æžœä½ åªæ˜¯æƒ³åˆ›å»ºå®žä½“和管ç†ä»£ç ä¼˜å…ˆ(code first)è¿ç§»,åªéœ€è¦éµå¾ª[å¯åŠ¨æ•™ç¨‹](Tutorials/Index.md). @@ -95,7 +95,7 @@ Volo.Abp.IdentityServer.AbpIdentityServerDbProperties.DbTablePrefix = "Ids"; 这个项目有应用程åºçš„ `DbContext`ç±»(本例中的 `BookStoreDbContex` ). -**æ¯ä¸ªæ¨¡å—都使用自己的 `DbContext` ç±»**æ¥è®¿é—®æ•°æ®åº“.åŒæ ·ä½ çš„åº”ç”¨ç¨‹åºæœ‰å®ƒè‡ªå·±çš„ `DbContext`. 通常在应用程åºä¸­ä½¿ç”¨è¿™ä¸ª `DbContet`(如果你éµå¾ªæœ€ä½³å®žè·µ,应该在[仓储](Repositories.md)中使用). 它几乎是一个空的 `DbContext`,因为你的应用程åºåœ¨ä¸€å¼€å§‹æ²¡æœ‰ä»»ä½•实体,除了预定义的 `AppUser` 实体: +**æ¯ä¸ªæ¨¡å—都使用自己的 `DbContext` ç±»**æ¥è®¿é—®æ•°æ®åº“ã€‚åŒæ ·ä½ çš„åº”ç”¨ç¨‹åºæœ‰å®ƒè‡ªå·±çš„ `DbContext`. 通常在应用程åºä¸­ä½¿ç”¨è¿™ä¸ª `DbContet`(如果你éµå¾ªæœ€ä½³å®žè·µ,应该在[仓储](Repositories.md)中使用). 它几乎是一个空的 `DbContext`,因为你的应用程åºåœ¨ä¸€å¼€å§‹æ²¡æœ‰ä»»ä½•实体,除了预定义的 `AppUser` 实体: ````csharp [ConnectionStringName("Default")] @@ -268,10 +268,10 @@ public class BackgroundJobsDbContext ##### é‡ç”¨æ¨¡å—的表 -ä½ å¯èƒ½æƒ³åœ¨åº”用程åºä¸­**é‡ç”¨ä¾èµ–模å—的表**. åœ¨è¿™ç§æƒ…况下你有两个选择: +您å¯èƒ½æƒ³åœ¨åº”用程åºä¸­**é‡ç”¨ä¾èµ–模å—的表**. åœ¨è¿™ç§æƒ…况下你有两个选择: 1. ä½ å¯ä»¥**直接使用模å—定义的实体**(ä½ ä»ç„¶å¯ä»¥åœ¨æŸç§ç¨‹åº¦ä¸Š[扩展实体](Customizing-Application-Modules-Extending-Entities.md)). -2. ä½ å¯ä»¥**创建一个新的实体**映射到åŒä¸€ä¸ªæ•°æ®åº“表. +2. ä½ å¯ä»¥**创建一个新的实体**映射到åŒä¸€ä¸ªæ•°æ®åº“表。 ###### 使用由模å—定义的实体 @@ -307,7 +307,7 @@ namespace Acme.BookStore 示例注入了 `IRepository`(默认仓储). 它定义了标准的存储库方法并实现了 `IQueryable` 接å£. -å¦å¤–,身份模å—定义了 `IIdentityUserRepository`(自定义仓储),你的应用程åºä¹Ÿå¯ä»¥æ³¨å…¥å’Œä½¿ç”¨å®ƒ. `IIdentityUserRepository` 为 `IdentityUser` 实体æä¾›äº†é¢å¤–的定制方法,但它没有实现 `IQueryable`. +å¦å¤–,身份模å—定义了 `IIdentityUserRepository`(自定义仓储),你的应用程åºä¹Ÿå¯ä»¥æ³¨å…¥å’Œä½¿ç”¨å®ƒ. `IIdentityUserRepository` 为 `IdentityUser` 实体æä¾›äº†é¢å¤–的定制方法,但它没有实现 `IQueryable`. ###### 创建一个新的实体 @@ -352,7 +352,7 @@ namespace Acme.BookStore.Roles * 它继承了[`AggregateRoot`ç±»](Entities.md)和实现了[`IMultiTenant`]接å£(Multi-Tenancy.md),因为 `IdentityRole` 也åšäº†åŒæ ·çš„继承. * ä½ å¯ä»¥æ·»åŠ  `IdentityRole` 实体定义的任何属性. 本例åªåŠ äº† `TenantId` å’Œ `Name` 属性,因为我们这里åªéœ€è¦å®ƒä»¬. ä½ å¯ä»¥æŠŠsettersè®¾ç½®ä¸ºç§æœ‰(å¦‚åŒæœ¬ä¾‹)以防æ„外更改身份模å—的属性. * ä½ å¯ä»¥æ·»åŠ è‡ªå®šä¹‰(附加)属性. 本例添加了 `Title` 属性. -* **æž„é€ å‡½æ•°æ˜¯ç§æœ‰çš„**,所以它ä¸å…许直接创建一个新的 `AppRole` 实体.创建角色身份模å—的责任. ä½ å¯ä»¥æŸ¥è¯¢è§’色,设置/更新自定义属性,但åšä¸ºæœ€ä½³å®žè·µä½ ä¸åº”该在代ç ä¸­åˆ›å»ºå’Œåˆ é™¤è§’色(尽管没有强制的é™åˆ¶). +* **æž„é€ å‡½æ•°æ˜¯ç§æœ‰çš„**,所以它ä¸å…许直接创建一个新的 `AppRole` 实体。创建角色身份模å—的责任. ä½ å¯ä»¥æŸ¥è¯¢è§’色,设置/更新自定义属性,但åšä¸ºæœ€ä½³å®žè·µä½ ä¸åº”该在代ç ä¸­åˆ›å»ºå’Œåˆ é™¤è§’色(尽管没有强制的é™åˆ¶). 现在是时候定义EF Core映射. 打开应用程åºçš„ `DbContext` (此示例中是 `BookStoreDbContext` )添加以下属性: @@ -360,7 +360,7 @@ namespace Acme.BookStore.Roles public DbSet Roles { get; set; } ```` -ç„¶åŽåœ¨ `OnModelCreating` 方法中é…置映射(调用 `base.OnModelCreating(builder)` 之åŽ): +ç„¶åŽåœ¨ `OnModelCreating` 方法中é…置映射(调用 `base.OnModelCreating(builder)` 之åŽ): ````csharp protected override void OnModelCreating(ModelBuilder builder) diff --git a/docs/zh-Hans/Entity-Framework-Core-MySQL.md b/docs/zh-Hans/Entity-Framework-Core-MySQL.md index 15e2205c38..5f9d8023ab 100644 --- a/docs/zh-Hans/Entity-Framework-Core-MySQL.md +++ b/docs/zh-Hans/Entity-Framework-Core-MySQL.md @@ -12,12 +12,12 @@ ## UseMySQL() -查找你的解决方案中 `UseSqlServer()`调用,替æ¢ä¸º `UseMySQL()`. 检查下列文件: +查找你的解决方案中 `UseSqlServer()`调用,替æ¢ä¸º `UseMySQL()`. 检查下列文件: * `.EntityFrameworkCore` 项目中的*YourProjectName*EntityFrameworkCoreModule.cs. * `.EntityFrameworkCore` 项目中的*YourProjectName*MigrationsDbContextFactory.cs. -> æ ¹æ®ä½ çš„解决方案的结构,ä½ å¯èƒ½å‘çŽ°æ›´å¤šéœ€è¦æ”¹å˜ä»£ç çš„æ–‡ä»¶. +> æ ¹æ®ä½ çš„解决方案的结构,你å¯èƒ½å‘çŽ°æ›´å¤šéœ€è¦æ”¹å˜ä»£ç çš„æ–‡ä»¶. ## 更改连接字符串 @@ -27,7 +27,7 @@ MySQL连接字符串与SQL Server连接字符串ä¸åŒ. 所以检查你的解决 ## 更改è¿ç§»DbContext -MySQL DBMS与SQL Server有一些细微的差异. æŸäº›æ¨¡å—æ•°æ®åº“映射é…ç½®(尤其是字段长度)会导致MySQL出现问题. 例如æŸäº›[IdentityServer模å—](Modules/IdentityServer.md)表就存在这样的问题,它æä¾›äº†ä¸€ä¸ªé€‰é¡¹å¯ä»¥æ ¹æ®ä½ çš„DBMSé…置字段. +MySQL DBMS与SQL Server有一些细微的差异. æŸäº›æ¨¡å—æ•°æ®åº“映射é…ç½®(尤其是字段长度)会导致MySQL出现问题. 例如æŸäº›[IdentityServer模å—](Modules/IdentityServer.md)表就存在这样的问题,它æä¾›äº†ä¸€ä¸ªé€‰é¡¹å¯ä»¥æ ¹æ®æ‚¨çš„DBMSé…置字段. å¯åŠ¨æ¨¡æ¿åŒ…å«*YourProjectName*MigrationsDbContext,它负责维护和è¿ç§»æ•°æ®åº“æž¶æž„. æ­¤DbContext基本上调用ä¾èµ–模å—的扩展方法æ¥é…置其数æ®åº“表. diff --git a/docs/zh-Hans/Entity-Framework-Core-Other-DBMS.md b/docs/zh-Hans/Entity-Framework-Core-Other-DBMS.md index ca70d8b5c6..ca12d7524f 100644 --- a/docs/zh-Hans/Entity-Framework-Core-Other-DBMS.md +++ b/docs/zh-Hans/Entity-Framework-Core-Other-DBMS.md @@ -63,7 +63,7 @@ MySQL连接字符串与SQL Server连接字符串ä¸åŒ. 所以检查你的解决 ## 更改è¿ç§»DbContext -MySQL DBMS与SQL Server有一些细微的差异. æŸäº›æ¨¡å—æ•°æ®åº“映射é…ç½®(尤其是字段长度)会导致MySQL出现问题. 例如æŸäº›[IdentityServer模å—](Modules/IdentityServer.md)表就存在这样的问题,它æä¾›äº†ä¸€ä¸ªé€‰é¡¹å¯ä»¥æ ¹æ®ä½ çš„DBMSé…置字段. +MySQL DBMS与SQL Server有一些细微的差异. æŸäº›æ¨¡å—æ•°æ®åº“映射é…ç½®(尤其是字段长度)会导致MySQL出现问题. 例如æŸäº›[IdentityServer模å—](Modules/IdentityServer.md)表就存在这样的问题,它æä¾›äº†ä¸€ä¸ªé€‰é¡¹å¯ä»¥æ ¹æ®æ‚¨çš„DBMSé…置字段. å¯åŠ¨æ¨¡æ¿åŒ…å«*YourProjectName*MigrationsDbContext,它负责维护和è¿ç§»æ•°æ®åº“æž¶æž„. æ­¤DbContext基本上调用ä¾èµ–模å—的扩展方法æ¥é…置其数æ®åº“表. diff --git a/docs/zh-Hans/Entity-Framework-Core-PostgreSQL.md b/docs/zh-Hans/Entity-Framework-Core-PostgreSQL.md index 08f8f405d1..bb1de20207 100644 --- a/docs/zh-Hans/Entity-Framework-Core-PostgreSQL.md +++ b/docs/zh-Hans/Entity-Framework-Core-PostgreSQL.md @@ -12,12 +12,12 @@ ## UsePostgreSql() -查找你的解决方案中 `UseSqlServer()`调用,替æ¢ä¸º `UsePostgreSql()`. 检查下列文件: +查找你的解决方案中 `UseSqlServer()`调用,替æ¢ä¸º `UsePostgreSql()`. 检查下列文件: * `.EntityFrameworkCore` 项目中的*YourProjectName*EntityFrameworkCoreModule.cs. * `.EntityFrameworkCore` 项目中的*YourProjectName*MigrationsDbContextFactory.cs. -> æ ¹æ®ä½ çš„解决方案的结构,ä½ å¯èƒ½å‘çŽ°æ›´å¤šéœ€è¦æ”¹å˜ä»£ç çš„æ–‡ä»¶. +> æ ¹æ®ä½ çš„解决方案的结构,你å¯èƒ½å‘çŽ°æ›´å¤šéœ€è¦æ”¹å˜ä»£ç çš„æ–‡ä»¶. ## 更改连接字符串 diff --git a/docs/zh-Hans/Entity-Framework-Core-SQLite.md b/docs/zh-Hans/Entity-Framework-Core-SQLite.md index d75f8ba5b7..4b8e009fe4 100644 --- a/docs/zh-Hans/Entity-Framework-Core-SQLite.md +++ b/docs/zh-Hans/Entity-Framework-Core-SQLite.md @@ -12,12 +12,12 @@ ## UseSqlite() -查找你的解决方案中 `UseSqlServer()`调用,替æ¢ä¸º `UseSqlite()`. 检查下列文件: +查找你的解决方案中 `UseSqlServer()`调用,替æ¢ä¸º `UseSqlite()`. 检查下列文件: * `.EntityFrameworkCore` 项目中的*YourProjectName*EntityFrameworkCoreModule.cs. * `.EntityFrameworkCore` 项目中的*YourProjectName*MigrationsDbContextFactory.cs. -> æ ¹æ®ä½ çš„解决方案的结构,ä½ å¯èƒ½å‘çŽ°æ›´å¤šéœ€è¦æ”¹å˜ä»£ç çš„æ–‡ä»¶. +> æ ¹æ®ä½ çš„解决方案的结构,你å¯èƒ½å‘çŽ°æ›´å¤šéœ€è¦æ”¹å˜ä»£ç çš„æ–‡ä»¶. ## 更改连接字符串 diff --git a/docs/zh-Hans/Entity-Framework-Core.md b/docs/zh-Hans/Entity-Framework-Core.md index 5ae6ce1070..d2af31f4d2 100644 --- a/docs/zh-Hans/Entity-Framework-Core.md +++ b/docs/zh-Hans/Entity-Framework-Core.md @@ -108,7 +108,7 @@ protected override void OnModelCreating(ModelBuilder builder) ### é…置连接字符串选择 å¦‚æžœä½ çš„åº”ç”¨ç¨‹åºæœ‰å¤šä¸ªæ•°æ®åº“,ä½ å¯ä»¥ä½¿ç”¨ `connectionStringName]` Attribute为你的DbContexté…置连接字符串åç§°. -例: +例: ```csharp [ConnectionStringName("MySecondConnString")] @@ -274,7 +274,7 @@ public override async Task DeleteAsync( ## 访问 EF Core API -大多数情况下应该éšè—仓储åŽé¢çš„EF Core API(这也是仓储的设计目地). 但是如果想è¦é€šè¿‡ä»“储访问DbContext实现,则å¯ä»¥ä½¿ç”¨`GetDbContext()`或`GetDbSet()`扩展方法. 例: +大多数情况下应该éšè—仓储åŽé¢çš„EF Core API(这也是仓储的设计目地). 但是如果想è¦é€šè¿‡ä»“储访问DbContext实现,则å¯ä»¥ä½¿ç”¨`GetDbContext()`或`GetDbSet()`扩展方法. 例: ````csharp public class BookService @@ -304,7 +304,7 @@ public class BookService 默认,实体的所有é¢å¤–属性存储在数æ®åº“的一个 `JSON` 对象中. -实体扩展系统å…许你存储é¢å¤–属性在数æ®åº“çš„å•独字段中. 有关é¢å¤–属性和实体扩展系统的更多信æ¯,请å‚阅下列文档: +实体扩展系统å…许你存储é¢å¤–属性在数æ®åº“çš„å•独字段中. 有关é¢å¤–属性和实体扩展系统的更多信æ¯,请å‚阅下列文档: * [自定义应用模å—: 扩展实体](Customizing-Application-Modules-Extending-Entities.md) * [实体](Entities.md) @@ -313,7 +313,7 @@ public class BookService ### ObjectExtensionManager.Instance -`ObjectExtensionManager` 实现å•例模å¼,因此你需è¦ä½¿ç”¨é™æ€çš„ `ObjectExtensionManager.Instance` æ¥æ‰§è¡Œæ‰€æœ‰æ“作. +`ObjectExtensionManager` 实现å•例模å¼ï¼Œå› æ­¤ä½ éœ€è¦ä½¿ç”¨é™æ€çš„ `ObjectExtensionManager.Instance` æ¥æ‰§è¡Œæ‰€æœ‰æ“作。 ### MapEfCoreProperty @@ -417,7 +417,7 @@ context.Services.AddAbpDbContext(options => }); ```` -现在,你的自定义仓储也å¯ä»¥ä½¿ç”¨`IBookStoreDbContext`接å£: +现在,您的自定义仓储也å¯ä»¥ä½¿ç”¨`IBookStoreDbContext`接å£: ````csharp public class BookRepository : EfCoreRepository, IBookRepository diff --git a/docs/zh-Hans/Getting-Started-Angular-Template.md b/docs/zh-Hans/Getting-Started-Angular-Template.md index d242b4f39b..d2ec83293b 100644 --- a/docs/zh-Hans/Getting-Started-Angular-Template.md +++ b/docs/zh-Hans/Getting-Started-Angular-Template.md @@ -1,8 +1,3 @@ -# å¯åŠ¨æ¨¡æ¿å…¥é—¨ +## Getting Started With the Angular Application Template -请å‚阅以下教程,了解如何使用预构建的应用程åºå¯åŠ¨æ¨¡æ¿å¼€å§‹ä½¿ç”¨ABP框架: - -* [ASP.NET Core MVC / Razor Pages UI 入门](Getting-Started?UI=MVC&DB=EF&Tiered=No) -* [Angular UI 入门](Getting-Started?UI=NG&DB=EF&Tiered=No) - - \ No newline at end of file +TODO... \ No newline at end of file diff --git a/docs/zh-Hans/Getting-Started-AspNetCore-Application.md b/docs/zh-Hans/Getting-Started-AspNetCore-Application.md index 9d195562fd..370e99c091 100644 --- a/docs/zh-Hans/Getting-Started-AspNetCore-Application.md +++ b/docs/zh-Hans/Getting-Started-AspNetCore-Application.md @@ -2,7 +2,7 @@ 本教程将介ç»å¦‚何开始以最少的ä¾èµ–关系开始使用ABPå¼€å‘. -通常情况下你需è¦ä¸‹è½½ä¸€ä¸ª ***[å¯åŠ¨æ¨¡æ¿](Getting-Started-AspNetCore-MVC-Template.md)*** +通常情况下你需è¦ä¸‹è½½ä¸€ä¸ª ***[å¯åŠ¨æ¨¡æ¿](https://abp.io/Templates)*** ### 创建一个新项目 @@ -156,7 +156,7 @@ services.AddApplication(options => }); ```` -4. æ›´æ–° `Program.cs`代ç , ä¸å†ä½¿ç”¨`WebHost.CreateDefaultBuilder()`方法(因为它使用默认的DI容器): +4. æ›´æ–° `Program.cs`代ç , ä¸å†ä½¿ç”¨`WebHost.CreateDefaultBuilder()`方法(因为它使用默认的DI容器): ````csharp public class Program diff --git a/docs/zh-Hans/Getting-Started-AspNetCore-MVC-Template.md b/docs/zh-Hans/Getting-Started-AspNetCore-MVC-Template.md index d242b4f39b..90291e968f 100644 --- a/docs/zh-Hans/Getting-Started-AspNetCore-MVC-Template.md +++ b/docs/zh-Hans/Getting-Started-AspNetCore-MVC-Template.md @@ -1,8 +1,102 @@ -# å¯åŠ¨æ¨¡æ¿å…¥é—¨ +## ASP.NET Core MVC 模æ¿å…¥é—¨ -请å‚阅以下教程,了解如何使用预构建的应用程åºå¯åŠ¨æ¨¡æ¿å¼€å§‹ä½¿ç”¨ABP框架: +### 创建新项目 -* [ASP.NET Core MVC / Razor Pages UI 入门](Getting-Started?UI=MVC&DB=EF&Tiered=No) -* [Angular UI 入门](Getting-Started?UI=NG&DB=EF&Tiered=No) +本教程使用 **ABP CLI** 创建一个新项目. 更多选项, 请å‚阅[入门](https://abp.io/get-started)页é¢. - \ No newline at end of file +å¦‚æžœä½ ä¹‹å‰æœªå®‰è£…,请使用命令行安装ABP CLI: + +````bash +dotnet tool install -g Volo.Abp.Cli +```` + +在空文件夹中使用 `abp new` 命令æ¥åˆ›å»ºé¡¹ç›®: + +````bash +abp new Acme.BookStore +```` + +> ä½ å¯ä»¥ä½¿ç”¨ä¸åŒçº§åˆ«çš„命å空间; 例如BookStore, Acme.BookStore或Acme.Retail.BookStore. + +`new` 命令创建**分层MVC应用程åº**, **Entity Framework Core**作为数æ®åº“æä¾›ç¨‹åº. 但是,它还有其他选择. 有关所有å¯ç”¨é€‰é¡¹,请å‚è§[CLI文档](CLI.md) + +#### é¢„å…ˆè¦æ±‚ + +åˆ›å»ºé¡¹ç›®çš„è¦æ±‚: + +* [Visual Studio 2019 (v16.4+)](https://visualstudio.microsoft.com/vs/) +* [.NET Core 3.0+](https://www.microsoft.com/net/download/dotnet-core/) +* [Node v12+](https://nodejs.org) +* [Yarn v1.19+](https://classic.yarnpkg.com/) + +### 解决方案结构 + +在**Visual Studio**中打开解决方案: + +![bookstore-visual-studio-solution](images/bookstore-visual-studio-solution-v3.png) + +该解决方案具有分层结构(基于[Domain Driven Design](Domain-Driven-Design.md)), 并包å«é…置好的的å•å…ƒ&é›†æˆæµ‹è¯•项目,å¯ä¸Ž**EF Core**å’Œ**SQLite**æ•°æ®åº“内存一起使用. + +> 请å‚阅[åº”ç”¨ç¨‹åºæ¨¡æ¿æ–‡æ¡£](Startup-Templates/Application.md)以详细了解解决方案结构. + +### æ•°æ®åº“连接字符串 + +查看`.Web`项目下`appsettings.json`文件中的 **连接字符串**: + +````json +{ + "ConnectionStrings": { + "Default": "Server=localhost;Database=BookStore;Trusted_Connection=True" + } +} +```` + +解决方案使用 **Entity Framework Core** å’Œ **MS SQL Server**. EF Core支æŒ[å„ç§](https://docs.microsoft.com/zh-cn/ef/core/providers/)æ•°æ®åº“æä¾›ç¨‹åº,因此你å¯ä»¥æ ¹æ®å®žé™…需è¦ä½¿ç”¨å…¶ä»–DBMS. 如果需è¦,请更改连接字符串. + +### 创建数æ®åº“并应用数æ®åº“è¿ç§» + +你有两个选项æ¥åˆ›å»ºæ•°æ®åº“. + +#### 使用DbMigratoråº”ç”¨ç¨‹åº + +该解决方案包å«ä¸€ä¸ªæŽ§åˆ¶å°åº”用程åº(在此示例中å为`Acme.BookStore.DbMigrator`),å¯ä»¥åˆ›å»ºæ•°æ®åº“,应用è¿ç§»å’Œåˆå§‹åŒ–æ•°æ®. 它对开å‘和生产环境都很有用. + +> `.DbMigrator`项目有自己的`appsettings.json`. å› æ­¤,如果你更改了上é¢çš„连接字符串,则还应更改此字符串. + +å³é”®å•击`.DbMigrator`项目并选择 **设置为å¯åŠ¨é¡¹ç›®**: + +![set-as-startup-project](images/set-as-startup-project.png) + +按F5(或Ctrl + F5)è¿è¡Œåº”用程åº. 它将具有如下所示的输出: + +![set-as-startup-project](images/db-migrator-app.png) + +#### 使用EF Core Update-Database命令 + +Ef Core具有`Update-Database`命令, 坿 ¹æ®éœ€è¦åˆ›å»ºæ•°æ®åº“并应用挂起的è¿ç§». å³é”®å•击`.Web`项目并选择**设置为å¯åŠ¨é¡¹ç›®**: + +![set-as-startup-project](images/set-as-startup-project.png) + +打开**包管ç†å™¨æŽ§åˆ¶å°(Package Manager Console)**, 选择`.EntityFrameworkCore.DbMigrations`项目作为**默认项目**å¹¶è¿è¡Œ`Update-Database`命令: + +![pcm-update-database](images/pcm-update-database-v2.png) + +这将基于é…置的连接字符串创建新数æ®åº“. + +> 使用`.Migrator`工具是建议的方法, 因为它还能åˆå§‹åŒ–åˆå§‹æ•°æ®èƒ½å¤Ÿæ­£ç¡®è¿è¡ŒWeb应用程åº. + +### è¿è¡Œåº”ç”¨ç¨‹åº + +你现在å¯ä»¥è¿è¡Œåº”用程åº,它将会打开**home**页é¢: + +![bookstore-homepage](images/bookstore-homepage.png) + +å•击 **登录** 按钮, 输入用户å`admin`, 密ç `1q2w3E*`, 登录应用程åº. + +å¯åŠ¨æ¨¡æ¿åŒ…括**身份管ç†**å’Œ**租户管ç†**模å—. 登录åŽ,将显示"管ç†"èœå•, ä½ å¯ä»¥åœ¨å…¶ä¸­ç®¡ç†**租户**,**角色**,**用户**å’Œ**æƒé™**. 用户管ç†é¡µé¢å¦‚下所示: + +![bookstore-user-management](images/bookstore-user-management-v2.png) + +### 下一步是什么? + +* [应用程åºå¼€å‘教程](Tutorials/AspNetCore-Mvc/Part-I.md) diff --git a/docs/zh-Hans/Getting-Started-With-Startup-Templates.md b/docs/zh-Hans/Getting-Started-With-Startup-Templates.md index d242b4f39b..2b23350612 100644 --- a/docs/zh-Hans/Getting-Started-With-Startup-Templates.md +++ b/docs/zh-Hans/Getting-Started-With-Startup-Templates.md @@ -1,8 +1,6 @@ # å¯åŠ¨æ¨¡æ¿å…¥é—¨ -请å‚阅以下教程,了解如何使用预构建的应用程åºå¯åŠ¨æ¨¡æ¿å¼€å§‹ä½¿ç”¨ABP框架: +å‚阅下é¢çš„æ•™ç¨‹æ¥å­¦ä¹ å¦‚何开始使用的ABP框架预构建的应用程åºå¯åŠ¨æ¨¡æ¿: -* [ASP.NET Core MVC / Razor Pages UI 入门](Getting-Started?UI=MVC&DB=EF&Tiered=No) -* [Angular UI 入门](Getting-Started?UI=NG&DB=EF&Tiered=No) - - \ No newline at end of file +* [ASP.NET Core MVC/Razor页颿¨¡æ¿å…¥é—¨](Getting-Started-AspNetCore-MVC-Template.md) +* [Angular UI模æ¿å…¥é—¨](Getting-Started-Angular-Template.md) \ No newline at end of file diff --git a/docs/zh-Hans/Getting-Started.md b/docs/zh-Hans/Getting-Started.md deleted file mode 100644 index b60fccfaa2..0000000000 --- a/docs/zh-Hans/Getting-Started.md +++ /dev/null @@ -1,416 +0,0 @@ -## 入门 - -````json -//[doc-params] -{ - "UI": ["MVC","NG"], - "DB": ["EF", "Mongo"], - "Tiered": ["Yes", "No"] -} -```` - -本教程介ç»äº†å¦‚何创建一个新的{{if UI == "MVC"}} ASP.NET Core MVC web {{else if UI == "NG"}} Angular {{end}}. é…置并è¿è¡Œå®ƒ. - -## 设置你的开å‘环境 - -创建第一个项目之å‰,éœ€è¦æ­£ç¡®çš„设置你的开å‘环境. - -### é¢„å…ˆè¦æ±‚ - -你需è¦å®‰è£…以下工具: - -* [Visual Studio 2019 (v16.4+)](https://visualstudio.microsoft.com/vs/) for Windows / [Visual Studio for Mac](https://visualstudio.microsoft.com/vs/mac/). -* [.NET Core 3.0+](https://www.microsoft.com/net/download/dotnet-core/) - -* [Node v12+](https://nodejs.org) -* [Yarn v1.19+](https://classic.yarnpkg.com/) -{{ if Tiered == "Yes" }} - -* [Redis](https://redis.io/): 应用程åºå°†Redis用作[分布å¼ç¼“å­˜](../Caching.md). 因此你需è¦å®‰è£…å¹¶è¿è¡ŒRedis. - -{{ end }} - -> ä½ å¯ä»¥ä¹Ÿä½¿ç”¨å…¶ä»–支æŒ.NET Core å’Œ ASP.NET Core的编辑器. - -### 安装ABP CLI - -[ABP CLI](./CLI.md)是一个命令行页é¢,用于为基于ABP的应用程åºéªŒè¯å’Œè‡ªåŠ¨åŒ–ä¸€äº›ä»»åŠ¡. - -> ABP CLI是[ABP框架](https://abp.io/)一个å…费开æºçš„工具. - -你需è¦ä½¿ç”¨ä»¥ä¸‹å‘½ä»¤å®‰æŽ’ABP CLI: - -````shell -dotnet tool install -g Volo.Abp.Cli -```` - -如果你已ç»å®‰è£…,ä½ å¯ä»¥ä½¿ç”¨ä»¥ä¸‹å‘½ä»¤æ›´æ–°åˆ°æœ€æ–°ç‰ˆæœ¬: - -````shell -dotnet tool update -g Volo.Abp.Cli -```` - -## 创建新项目 - -> 本文å‡è®¾ä½ ä½¿ç”¨ **{{ UI_Value }}** åšä¸ºUI框架 **{{ DB_Value }}** åšä¸ºæ•°æ®åº“æä¾›ç¨‹åº,对于其它选项,ä½ å¯ä»¥æ›´æ”¹æ–‡æ¡£é¡¶éƒ¨çš„首选项. - -### 使用ABP CLI创建一个新项目 - -使用ABP CLIçš„ `new` 命令创建新项目: - -````shell -abp new Acme.BookStore -t app{{if UI == "NG"}} -u angular {{end}}{{if DB == "Mongo"}} -d mongodb{{end}}{{if Tiered == "Yes" && UI != "NG"}} --tiered {{else if Tiered == "Yes" && UI == "NG"}}--separate-identity-server{{end}} -```` - -* `-t` 傿•°æŒ‡å®š [å¯åŠ¨æ¨¡æ¿](Startup-Templates/Application.md) åç§°. `app` 是一个å¯åŠ¨æ¨¡æ¿åç§°,包å«äº†é¢„安装并且é…置好的[ABP模å—](Modules/Index.md). - -{{ if UI == "NG" }} - -* `-u` 指定UI框架, 本例中是 `angular`. - -{{ if Tiered == "Yes" }} - -* `--separate-identity-server` 傿•°ç”¨äºŽå°†IdentityæœåŠ¡å™¨åº”ç”¨ç¨‹åºä¸ŽAPI主机应用程åºåˆ†éš”å¼€. 如果未指定,ä½ å°†åªæœ‰ä¸€ä¸ªç«¯ç‚¹. - -{{ end }} - -{{ end }} - -{{ if DB == "Mongo" }} - -* `-d` 指定数æ®åº“æä¾›ç¨‹åº, 本例中是 `mongodb`. - -{{ end }} - -{{ if Tiered == "Yes" && UI != "NG" }} - -* `--tiered` 傿•°ç”¨äºŽåˆ›å»ºn层解决方案,å…¶ä¸­èº«ä»½éªŒè¯æœåС噍层,UI层和API层在物ç†ä¸Šæ˜¯åˆ†ç¦»çš„. - -{{ end }} - -> ä½ å¯ä»¥ä½¿ç”¨ä¸åŒçº§åˆ«çš„命令空间; 例如. BookStore, Acme.BookStore or Acme.Retail.BookStore. - -## 解决方案结构 - -{{ if UI == "MVC" }} - -创建项目åŽä½ ä¼šæœ‰ä»¥ä¸‹è§£å†³æ–¹æ¡ˆç›®å½•和文件: - -![](images/solution-files-mvc.png) - -在Visual Studio中打开 `.sln` 文件时,将看到以下解决方案结构: - -{{if DB == "Mongo"}} - -![vs-default-app-solution-structure](images/vs-app-solution-structure-mongodb.png) - -{{else}} - -![vs-default-app-solution-structure](images/vs-app-solution-structure{{if Tiered == "Yes"}}-tiered{{end}}.png) - -{{end}} - -{{ else if UI == "NG" }} -在创建的解决方案中有三个文件夹: - -![](images/solution-files-non-mvc.png) - -* `angular` 文件夹包å«Angular UI应用程åº. -* `aspnet-core` 文件夹包å«åŽç«¯åº”用程åº. -* `react-native` 文件夹包å«React Native UI 应用程åº. - -打开 `aspnet-core` 文件夹下的 `.sln`(`Visual Studio`解决方案)文件: -![vs-angular-app-backend-solution-structure](images/vs-spa-app-backend-structure{{if DB == "Mongo"}}-mongodb{{end}}.png) - -{{ end }} - -> ###### 关于解决方案中的项目 -> -> æ ¹æ®ä½ çš„**UI**,**æ•°æ®åº“**和其他选项,你的解决方案的结构å¯èƒ½ç•¥æœ‰ä¸åŒ. - -该解决方案具有分层结构(基于[Domain Driven Design](Domain-Driven-Design.md)), 并包å«é…置好的的å•å…ƒ&é›†æˆæµ‹è¯•项目. - -{{ if DB == "EF" }} - -é›†æˆæµ‹è¯•项目已é…置为å¯ä¸Ž **EF Core** & **SQLite 内存** databaseåŒæ—¶ä½¿ç”¨. - -{{ else if DB == "Mongo" }} - -é›†æˆæµ‹è¯•项目已é…置为æ¯ä¸ªæµ‹è¯•创建的内存中的**MongoDB**æ•°æ®åº“(使用的[Mongo2Go](https://github.com/Mongo2Go/Mongo2Go)库). - -{{ end }} - -> 请å‚阅[åº”ç”¨ç¨‹åºæ¨¡æ¿æ–‡æ¡£](Startup-Templates/Application.md)详细了解解决方案结构. - -## 创建数æ®åº“ - -### æ•°æ®åº“连接字符串 - -检查 {{if UI == "MVC"}}{{if Tiered == "Yes"}}`.IdentityServer` å’Œ `.HttpApi.Host` 项目{{else}}`.Web` 项目{{end}}{{else if UI == "NG" }}`.HttpApi.Host` 项目{{end}}下 `appsettings.json` 文件中的 **链接字符串**: - -{{ if DB == "EF" }} - -````json -"ConnectionStrings": { - "Default": "Server=localhost;Database=BookStore;Trusted_Connection=True" -} -```` - -该解决方案é…置为**Entity Framework Core**与**MS SQL Server**一起使用. EF Core支æŒ[å„ç§](https://docs.microsoft.com/en-us/ef/core/providers/)æ•°æ®åº“æä¾›ç¨‹åº,因此你å¯ä»¥ä½¿ç”¨ä»»ä½•å—æ”¯æŒçš„DBMS. 请å‚阅[Entity Frameworké›†æˆæ–‡æ¡£](https://docs.abp.io/en/abp/latest/Entity-Framework-Core)了解如何切æ¢åˆ°å¦ä¸€ä¸ªDBMS. - -### æ•°æ®åº“连接字符串 - -查看`.Web`项目下`appsettings.json`文件中的 **连接字符串**: - -````json -{ - "ConnectionStrings": { - "Default": "Server=localhost;Database=BookStore;Trusted_Connection=True" - } -} -```` - -解决方案使用 **Entity Framework Core** å’Œ **MS SQL Server**. EF Core支æŒ[å„ç§](https://docs.microsoft.com/zh-cn/ef/core/providers/)æ•°æ®åº“æä¾›ç¨‹åº,因此你å¯ä»¥æ ¹æ®å®žé™…需è¦ä½¿ç”¨å…¶ä»–DBMS. 如果需è¦,请更改连接字符串. - -### 应用è¿ç§» - -该解决方案使用[Entity Framework Core Code First è¿ç§»](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli). 你需è¦åº”用è¿ç§»æ¥åˆ›å»ºæ•°æ®åº“,æœ‰ä¸¤ç§æ–¹æ³•è¿ç§»æ•°æ®åº“. - -#### 使用DbMigrator应用程åºåº”用è¿ç§» - -该解决方案包å«ä¸€ä¸ªæŽ§åˆ¶å°åº”用程åº(在此示例中å为`Acme.BookStore.DbMigrator`),å¯ä»¥åˆ›å»ºæ•°æ®åº“,应用è¿ç§»å’Œåˆå§‹åŒ–æ•°æ®. 它对开å‘和生产环境都很有用. - -> `.DbMigrator`项目有自己的`appsettings.json`. å› æ­¤,如果你更改了上é¢çš„连接字符串,则还应更改此字符串. - -å³é”®å•击`.DbMigrator`项目并选择 **设置为å¯åŠ¨é¡¹ç›®**: - -![set-as-startup-project](images/set-as-startup-project.png) - -按F5(或Ctrl + F5)è¿è¡Œåº”用程åº. 它将具有如下所示的输出: - -![set-as-startup-project](images/db-migrator-app.png) - -#### 使用EF Core Update-Database命令 - -Ef Core具有`Update-Database`命令, 坿 ¹æ®éœ€è¦åˆ›å»ºæ•°æ®åº“并应用挂起的è¿ç§». å³é”®å•击`.Web`项目并选择**设置为å¯åŠ¨é¡¹ç›®**: - -{{ if UI == "MVC" }} - -å³é”®å•击{{if Tiered == "Yes"}}`.IdentityServer`{{else}}`.Web`{{end}}项目并选择**设置为å¯åŠ¨é¡¹ç›®**: - -{{ else if UI != "MVC" }} - -å³é”®å•击`.HttpApi.Host`项目并选择**设置为å¯åŠ¨é¡¹ç›®**: - -{{ end }} - -![set-as-startup-project](images/set-as-startup-project.png) - -打开**包管ç†å™¨æŽ§åˆ¶å°(Package Manager Console)**, 选择`.EntityFrameworkCore.DbMigrations`项目作为**默认项目**å¹¶è¿è¡Œ`Update-Database`命令: - -![package-manager-console-update-database](images/package-manager-console-update-database.png) - -这将基于é…置的连接字符串创建新数æ®åº“. - -> 使用`.Migrator`工具是建议的方法, 因为它还能åˆå§‹åŒ–åˆå§‹æ•°æ®èƒ½å¤Ÿæ­£ç¡®è¿è¡ŒWeb应用程åº. - -{{ else if DB == "Mongo" }} - -````json -"ConnectionStrings": { - "Default": "mongodb://localhost:27017/BookStore" -} -```` - -该解决方案被é…置为在你的本地计算机中使用 **MongoDB**,因此你需è¦å¯åЍ并è¿è¡Œä¸€ä¸ªMongoDBæœåŠ¡å™¨å®žä¾‹æˆ–è€…å°†è¿žæŽ¥å­—ç¬¦ä¸²æ›´æ”¹ä¸ºå¦ä¸€ä¸ªMongoDBæœåС噍. - -### åˆå§‹åŒ–ç§å­æ•°æ® - -该解决方案附带一个 `.DbMigrator` 控制å°åº”用程åº,该应用程åºä¸ºåˆå§‹æ•°æ®æä¾›äº†ç§å­. 它对于开å‘以åŠç”Ÿäº§çŽ¯å¢ƒéƒ½å¾ˆæœ‰ç”¨. - -> `.DbMigrator` 项目有自己的 `appsettings.json`.如果你更改了其他项目的 `appsettings.json`,也应该更改这个. - -å³é”®ç‚¹å‡» `.DbMigrator` 并选择 **设置为å¯åŠ¨é¡¹ç›®**. - -![set-as-startup-project](images/set-as-startup-project.png) - - 按F5(或Ctrl+F5)å¯åŠ¨åº”ç”¨ç¨‹åº,你会看到以下输出: - - ![db-migrator-output](images/db-migrator-output.png) - -> æ•°æ®åº“创建åŽä¼šåˆå§‹åŒ–ç§å­æ•°æ®, 其中包å«ç”¨äºŽç™»å½•çš„ `admin` 用户. 所以你至少使用 `.DbMigrator` 一次. - -{{ end }} - -### è¿è¡Œåº”ç”¨ç¨‹åº - -{{ if UI == "MVC" }} - -{{ if Tiered == "Yes" }} - -ç¡®ä¿ `.IdentityServer` 是å¯åŠ¨é¡¹ç›®,è¿è¡Œåº”用程åºåŽä¼šåœ¨ä½ çš„æµè§ˆå™¨æ‰“å¼€ä¸€ä¸ª **login** 页é¢. - -> 在Visual Studio中使用Ctrl+F5(è€Œä¸æ˜¯F5)è¿è¡Œåº”用,如果你ä¸ç”¨äºŽè°ƒè¯•,这会å‡å°‘å¯åŠ¨æ—¶é—´. - -ä½ å¯ä»¥ç™»å½•,但是ä¸èƒ½åœ¨è¿™é‡Œè¿›å…¥ä¸»åº”用程åº,å®ƒä»…æ˜¯éªŒè¯æœåС噍. - -ç¡®ä¿ `.HttpApi.Host` 是å¯åŠ¨é¡¹ç›®,è¿è¡Œåº”用程åºåŽä¼šåœ¨ä½ çš„æµè§ˆå™¨æ‰“å¼€ä¸€ä¸ª **Swagger UI** 页é¢. - -![swagger-ui](images/swagger-ui.png) - -这里是Web应用程åºä½¿ç”¨çš„API应用程åº. - -最åŽç¡®ä¿ `.Web` 是å¯åŠ¨é¡¹ç›®,è¿è¡Œåº”用程åºåŽä¼šåœ¨ä½ çš„æµè§ˆå™¨æ‰“å¼€ä¸€ä¸ª **welcome** 页é¢. - -![mvc-tiered-app-home](images/bookstore-home.png) - -点击 **login** 按钮é‡å®šå‘到 `Identity Server` æ¥ç™»å½•应用程åº. - -![bookstore-login](images/bookstore-login.png) - -{{ else }} - -最åŽç¡®ä¿ `.Web` 是å¯åŠ¨é¡¹ç›®,è¿è¡Œåº”用程åºåŽä¼šåœ¨ä½ çš„æµè§ˆå™¨æ‰“å¼€ä¸€ä¸ª **login** 页é¢. - -> 在Visual Studio中使用Ctrl+F5(è€Œä¸æ˜¯F5)è¿è¡Œåº”用,如果你ä¸ç”¨äºŽè°ƒè¯•,这会å‡å°‘å¯åŠ¨æ—¶é—´. - -![bookstore-login](images/bookstore-login.png) - -{{ end }} - -{{ else if UI != "MVC" }} - -#### è¿è¡ŒHTTP API Host (æœåŠ¡å™¨ç«¯) - -{{ if Tiered == "Yes" }} - -ç¡®ä¿ `.IdentityServer` 是å¯åŠ¨é¡¹ç›®,è¿è¡Œåº”用程åºåŽä¼šåœ¨ä½ çš„æµè§ˆå™¨æ‰“å¼€ä¸€ä¸ª **login** 页é¢. - -> 在Visual Studio中使用Ctrl+F5(è€Œä¸æ˜¯F5)è¿è¡Œåº”用,如果你ä¸ç”¨äºŽè°ƒè¯•,这会å‡å°‘å¯åŠ¨æ—¶é—´. - -ä½ å¯ä»¥ç™»å½•,但是ä¸èƒ½åœ¨è¿™é‡Œè¿›å…¥ä¸»åº”用程åº,å®ƒä»…æ˜¯éªŒè¯æœåС噍. - -{{ end }} - -ç¡®ä¿ `.HttpApi.Host` 是å¯åŠ¨é¡¹ç›®,è¿è¡Œåº”用程åºåŽä¼šåœ¨ä½ çš„æµè§ˆå™¨æ‰“å¼€ä¸€ä¸ª **Swagger UI** 页é¢. - -{{ if Tiered == "No" }} - -> 在Visual Studio中使用Ctrl+F5(è€Œä¸æ˜¯F5)è¿è¡Œåº”用,如果你ä¸ç”¨äºŽè°ƒè¯•,这会å‡å°‘å¯åŠ¨æ—¶é—´. - -{{ end }} - -![swagger-ui](images/swagger-ui.png) - -ä½ å¯ä»¥çœ‹åˆ°åº”用程åºçš„API并进行测试. 更多信æ¯,请å‚阅[Swagger UI](https://swagger.io/tools/swagger-ui/). - -> ##### Swagger UI æŽˆæƒ -> -> 大多数的HTTP API都需è¦èº«ä»½éªŒè¯å’ŒæŽˆæƒ. å¦‚æžœä½ è¦æµ‹è¯•授æƒAPI, 请手动进入 `/Account/Login` 页é¢, 输入用户å: `admin` 和密ç : `1q2w3E*` 登录到应用程åº. ç„¶åŽä½ å¯ä»¥è®¿é—®æŽˆæƒAPI. - -{{ end }} - -{{ if UI == "NG" }} -#### è¿è¡Œ Angular åº”ç”¨ç¨‹åº (客户端) - -在 `angular` 下打开命令行终端, 输入 `yarn` 命令(我们推è使用[yarn](https://yarnpkg.com/)包管ç†, `npm install` 在大多数情况下也å¯ä»¥å·¥ä½œ). - -```bash -yarn -``` - -等到所有node模å—加载æˆåŠŸ, 执行 `yarn start` (或 `npm start`) 命令: - -```bash -yarn start -``` - -等待 `Angular CLI` 使用 `BrowserSync` å¯åЍ `Webpack` dev-server. -它会负责编译你的 `TypeScript`代ç , å¹¶è‡ªåŠ¨é‡æ–°åŠ è½½æµè§ˆå™¨. -完æˆåŽ `Angular Live Development Server` ä¼šç›‘å¬ localhost:4200. -打开你的æµè§ˆå™¨å¹¶å¯¼èˆªåˆ°[localhost:4200](http://localhost:4200/). - -![bookstore-login](images/bookstore-login.png) - -{{ end }} - -输入用户å **admin**,å¯†ç  **1q2w3E*** 登录到应用程åº. - -![bookstore-home](images/bookstore-home.png) - -应用程åºå·²ç»å¯åŠ¨å¹¶æ‰§è¡Œ,ä½ å¯ä»¥åŸºäºŽè¯¥å¯åŠ¨æ¨¡æ¿å¼€å‘应用程åº. - -#### ç§»åŠ¨å¼€å‘ - -ABPå¹³å°æä¾›äº†[React Native](https://reactnative.dev/)模æ¿ç”¨äºŽå¼€å‘移动应用程åº. - -> 该解决方案默认 `react-native` 包å«äº†React Native应用程åº,如果你ä¸è®¡åˆ’使用React Nativeå¼€å‘移动应用程åº,ä½ å¯ä»¥å¿½ç•¥å¹¶åˆ é™¤ `react-native` 文件夹. - -è¿è¡Œåœ¨Android模拟器或真机上的React Nativeåº”ç”¨ç¨‹åºæ— æ³•连接到 `localhost` 上的åŽ.è¦ä¿®å¤æ­¤é—®é¢˜,需è¦åœ¨æœ¬åœ°IP上è¿è¡ŒåŽç«¯. - -{{ if Tiered == "No"}} -![React Native host project local IP entry](images/rn-host-local-ip.png) - -* 打开 `.HttpApi.Host` 文件夹下的 `appsettings.json` 文件. å°† `SelfUrl` å’Œ `Authority` 属性的 `localhost` 替æ¢ä¸ºä½ æœ¬åœ°çš„IP地å€. -* 打开 `.HttpApi.Host/Properties` 文件夹下的 `launchSettings.json` 文件. å°† `applicationUrl` 属性的 `localhost` 替æ¢ä¸ºä½ æœ¬åœ°çš„IP地å€. - -{{ else if Tiered == "Yes" }} - -![React Native tiered project local IP entry](images/rn-tiered-local-ip.png) - -* 打开 `.IdentityServer` 文件夹下的 `appsettings.json` 文件. å°† `SelfUrl` 属性的 `localhost` 替æ¢ä¸ºä½ æœ¬åœ°çš„IP地å€. -* 打开 `.IdentityServer/Properties` 文件夹下的 `launchSettings.json` 文件. å°† `applicationUrl` 属性的 `localhost` 替æ¢ä¸ºä½ æœ¬åœ°çš„IP地å€. -* 打开 `.HttpApi.Host` 文件夹下的 `appsettings.json` 文件. å°† `Authority` 属性的 `localhost` 替æ¢ä¸ºä½ æœ¬åœ°çš„IP地å€. -* 打开 `.HttpApi.Host/Properties` 文件夹下的 `launchSettings.json` 文件. å°† `applicationUrl` 属性的 `localhost` 替æ¢ä¸ºä½ æœ¬åœ°çš„IP地å€. - -{{ end }} - -按照**è¿è¡ŒHTTP API Host (æœåŠ¡ç«¯å£)**那样è¿è¡ŒåŽç«¯. - -> React Native应用程åºä¸ä¿¡ä»»è‡ªåŠ¨ç”Ÿæˆçš„.NET HTTPSè¯ä¹¦,ä½ å¯ä»¥åœ¨å¼€å‘期间使用HTTP. - -在 `react-native` 文件夹打开命令行终端,输入 `yarn` 命令(我们推è使用[yarn](https://yarnpkg.com/)包管ç†, `npm install` 在大多数情况下也å¯ä»¥å·¥ä½œ). - -```bash -yarn -``` - -* 打开 `react-nativer` 文件夹下的 `Environment.js` 文件. å°† `apiUrl` å’Œ `issuer` 属性的 `localhost` 替æ¢ä¸ºä½ æœ¬åœ°çš„IP地å€: - -![react native environment local IP](images/rn-environment-local-ip.png) - -{{ if Tiered == "Yes" }} - -> ç¡®ä¿ `issuer` 与正在è¿è¡Œçš„ `.IdentityServer` 项目匹é…, `apiUrl` 与正在è¿è¡Œçš„ `.HttpApi.Host` 项目匹é…. - -{{else}} - -> ç¡®ä¿ `issuer` å’Œ `apiUrl` 与正在è¿è¡Œçš„ `.HttpApi.Host` é¡¹ç›®åŒ¹é… - -{{ end }} - -等到所有node模å—加载æˆåŠŸ, 执行 `yarn start` (或 `npm start`) 命令: - -```bash -yarn start -``` - -等待Expo CLIå¯åЍåŽExpo CLI在 `http://localhost:19002/` 地å€è¦å¼€ç®¡ç†é¡µé¢. - -![expo-interface](images/rn-expo-interface.png) - -在上é¢çš„管ç†ç•Œé¢ä¸­,å¯ä»¥é€šè¿‡ä½¿ç”¨[Expo Client](https://expo.io/tools#client)扫æäºŒç»´ç ,使用Android模拟器,iOS模拟器或真机æ¥å¯åŠ¨åº”ç”¨ç¨‹åº. - -> 请å‚阅[expo.io](https://docs.expo.io/versions/v36.0.0/workflow/ios-simulator/)上的[Android Studio模拟器](https://docs.expo.io/versions/v36.0.0/workflow/android-studio-emulator/)å’Œ[iOS模拟器文档](https://docs.expo.io/versions/v36.0.0/workflow/android-studio-emulator/). - -![React Native login screen on iPhone 11](images/rn-login-iphone.png) - -输入用户å **admin**,å¯†ç  **1q2w3E*** 登录到应用程åº. - -应用程åºå·²ç»å¯åŠ¨å¹¶æ‰§è¡Œ,ä½ å¯ä»¥åŸºäºŽè¯¥å¯åŠ¨æ¨¡æ¿å¼€å‘应用程åº. - -> [应用程åºå¯åŠ¨æ¨¡æ¿](Startup-Templates/Application.md) 包å«ç§Ÿæˆ·ç®¡ç†å’ŒIdentity模å—. - -## 下一步是什么? - -[应用程åºå¼€å‘教程](Tutorials/Part-1.md) diff --git a/docs/zh-Hans/Index.md b/docs/zh-Hans/Index.md index 71e5a520da..d946d8f0bb 100644 --- a/docs/zh-Hans/Index.md +++ b/docs/zh-Hans/Index.md @@ -12,7 +12,7 @@ ABP是一个**å¼€æºåº”ç”¨ç¨‹åºæ¡†æž¶**,专注于基于ASP.NET Coreçš„Web应用 * [ASP.NET Core MVC 模æ¿](Getting-Started-AspNetCore-MVC-Template.md) -如果你想从头开始(使用空项目),请手动安装ABP框架并使用以下教程: +如果您想从头开始(使用空项目),请手动安装ABP框架并使用以下教程: * [控制å°åº”用程åº](Getting-Started-Console-Application.md) * [ASP.NET Core Web 应用程åº](Getting-Started-AspNetCore-Application.md) diff --git a/docs/zh-Hans/Localization.md b/docs/zh-Hans/Localization.md index 1292655e62..fce4b14407 100644 --- a/docs/zh-Hans/Localization.md +++ b/docs/zh-Hans/Localization.md @@ -86,21 +86,6 @@ JSON文件ä½äºŽ "/Localization/Resources/Test" 项目文件夹下, 如下图所 * æ¯ä¸ªæœ¬åœ°åŒ–文件都需è¦å®šä¹‰ `culture` (文化) ä»£ç  (例如 "en" 或 "en-US"). * `texts` 部分åªåŒ…嫿œ¬åœ°åŒ–å­—ç¬¦ä¸²çš„é”®å€¼é›†åˆ (键也å¯èƒ½æœ‰ç©ºæ ¼). -### é»˜è®¤èµ„æº - -å¯ä»¥å°† `AbpLocalizationOptions.DefaultResourceType` 设置为资æºç±»åž‹,åœ¨æœªæŒ‡å®šæœ¬åœ°åŒ–èµ„æºæ—¶ä½¿ç”¨: - -````csharp -Configure(options => -{ - options.DefaultResourceType = typeof(TestResource); -}); -```` - -> [å¯åŠ¨æ¨¡æ¿]](Startup-Templates/Application.md) 设置 `DefaultResourceType` 为应用程åºçš„æœ¬åœ°åŒ–资æº. - -请å‚阅下é¢çš„*客户端*部分获å–用例 - ##### 简短的本地化资æºåç§° 本地化资æºä¹Ÿå¯ä»¥åœ¨å®¢æˆ·ç«¯(JavaScript)使用. å› æ­¤, 为本地化资æºè®¾ç½®ä¸€ä¸ªç®€çŸ­çš„åç§°å¯ä»¥æ›´æ–¹ä¾¿çš„æœ¬åœ°åŒ–文本. 例如: @@ -180,10 +165,6 @@ public class MyService } ```` -##### æ ¼å¼å‚æ•° - -æ ¼å¼å‚æ•°å¯ä»¥åœ¨æœ¬åœ°åŒ–Key傿•°åŽä¼ é€’,å¦‚æžœä½ çš„æ¶ˆæ¯æ˜¯ `Hello {0}, welcome!`,å¯ä»¥å°† `{0}` 传递给localizer,例如: `_localizer["HelloMessage", "John"]`. - ###### 在Razor视图/Page中简å•的用法 ````c# @@ -198,9 +179,7 @@ public class MyService ABPæä¾›äº†JavaScriptæœåŠ¡, å¯ä»¥åœ¨å®¢æˆ·ç«¯ä½¿ç”¨ç›¸åŒçš„æœ¬åœ°åŒ–文本. -#### getResource - -`abp.localization.getResource` å‡½æ•°ç”¨äºŽèŽ·å–æœ¬åœ°åŒ–资æº: +èŽ·å–æœ¬åœ°åŒ–资æº: ````js var testResource = abp.localization.getResource('Test'); @@ -212,33 +191,6 @@ var testResource = abp.localization.getResource('Test'); var str = testResource('HelloWorld'); ```` -#### 本地化 - -`abp.localization.localize` å‡½æ•°ç”¨äºŽèŽ·å–æœ¬åœ°åŒ–文本,ä½ å¯ä»¥ä¼ é€’本地化Key和资æºåç§°: - -````js -var str = abp.localization.localize('HelloWorld', 'Test'); -```` - -`HelloWorld` 是本地化文本的Key, `Test` 是本地化资æºçš„åç§°. - -如果未指定本地化资æºåç§°,它使用 `AbpLocalizationOptions` 中定义的默认本地化资æº(å‚è§ä¸Šé¢çš„*默认资æº*部分). 例: - -````js -var str = abp.localization.localize('HelloWorld'); //uses the default resource -```` - -##### æ ¼å¼å‚æ•° - -如果本地化字符串包å«å‚æ•°, 例如 `Hello {0}, welcome!`. ä½ å¯ä»¥å°†å‚数传递给本地化方法. 例: - -````js -var str1 = abp.localization.getResource('Test')('HelloWelcomeMessage', 'John'); -var str2 = abp.localization.localize('HelloWorld', 'Test', 'John'); -```` - -上é¢çš„两个示例都会输出 `Hello John, welcome!`. - -## å¦è¯·å‚阅 +## See Also * [Angular UI中的本地化](UI/Angular/Localization.md) \ No newline at end of file diff --git a/docs/zh-Hans/Modules/Docs.md b/docs/zh-Hans/Modules/Docs.md index 96452f2bd5..20382d24f2 100644 --- a/docs/zh-Hans/Modules/Docs.md +++ b/docs/zh-Hans/Modules/Docs.md @@ -326,7 +326,7 @@ There are no projects yet! {"GitHubRootUrl":"https://github.com/abpframework/abp/tree/{version}/docs/zh-Hans/","GitHubAccessToken":"***","GitHubUserAgent":""} ``` - æ³¨æ„ `GitHubAccessToken` 用 `***` 掩盖. 这是一个ç§äººä»¤ç‰Œ,你必须从GitHub获å–它. 请å‚阅 https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/ + æ³¨æ„ `GitHubAccessToken` 用 `***` 掩盖. 这是一个ç§äººä»¤ç‰Œï¼Œä½ å¿…须从GitHub获å–它. 请å‚阅 https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/ - MainWebsiteUrl: `/` @@ -338,7 +338,7 @@ There are no projects yet! INSERT [dbo].[DocsProjects] ([Id], [Name], [ShortName], [Format], [DefaultDocumentName], [NavigationDocumentName], [MinimumVersion], [DocumentStoreType], [ExtraProperties], [MainWebsiteUrl], [LatestVersionBranchName], [ParametersDocumentName]) VALUES (N'12f21123-e08e-4f15-bedb-ae0b2d939658', N'ABP framework (GitHub)', N'abp', N'md', N'Index', N'docs-nav.json', NULL, N'GitHub', N'{"GitHubRootUrl":"https://github.com/abpframework/abp/tree/{version}/docs","GitHubAccessToken":"***","GitHubUserAgent":""}', N'/', N'master', N'') ``` -请注æ„,`GitHubAccessToken` 被å±è”½äº†.它是一个ç§äººä»¤ç‰Œ,ä½ å¿…é¡»èŽ·å¾—è‡ªå·±çš„ä»¤ç‰Œå¹¶æ›¿æ¢ `***` 字符串. +请注æ„,`GitHubAccessToken` 被å±è”½äº†.它是一个ç§äººä»¤ç‰Œ,ä½ å¿…é¡»èŽ·å¾—è‡ªå·±çš„ä»¤ç‰Œå¹¶æ›¿æ¢ `***` 字符串. 现在你å¯ä»¥è¿è¡Œåº”用程åºå¹¶å¯¼èˆªåˆ° `/Documents`. @@ -378,9 +378,9 @@ INSERT [dbo].[DocsProjects] ([Id], [Name], [ShortName], [Format], [DefaultDocume INSERT [dbo].[DocsProjects] ([Id], [Name], [ShortName], [Format], [DefaultDocumentName], [NavigationDocumentName], [MinimumVersion], [DocumentStoreType], [ExtraProperties], [MainWebsiteUrl], [LatestVersionBranchName], [ParametersDocumentName]) VALUES (N'12f21123-e08e-4f15-bedb-ae0b2d939659', N'ABP framework (FileSystem)', N'abp', N'md', N'Index', N'docs-nav.json', NULL, N'FileSystem', N'{"Path":"C:\\Github\\abp\\docs"}', N'/', NULL, N'') ``` -添加上é¢çš„一个示例项目åŽè¿è¡Œè¯¥åº”用程åº. 在èœå•中你会看到`文档` 链接,点击èœå•链接打开文档页é¢. +添加上é¢çš„一个示例项目åŽè¿è¡Œè¯¥åº”用程åº. 在èœå•中你会看到`文档` 链接,点击èœå•链接打开文档页é¢. -到目å‰ä¸ºæ­¢, 我们已ç»ä»Žabp.io网站创建了一个新的应用程åº,并为Docs模å—åšå¥½å‡†å¤‡. +到目å‰ä¸ºæ­¢, 我们已ç»ä»Žabp.io网站创建了一个新的应用程åºï¼Œå¹¶ä¸ºDocs模å—åšå¥½å‡†å¤‡. ### 7- 添加一个新文档 @@ -454,7 +454,7 @@ public class Person } ``` -å› ä¸ºå¹¶ä¸æ˜¯é¡¹ç›®ä¸­çš„æ¯ä¸ªæ–‡æ¡£éƒ½æœ‰ç« èŠ‚æˆ–è€…ä¸éœ€è¦æ‰€æœ‰çš„傿•°,ä½ å¿…é¡»å£°æ˜Žå“ªäº›å‚æ•°å°†ç”¨äºŽå¯¹æ–‡æ¡£è¿›è¡Œåˆ†æ®µ,在文档的任何地方都å¯ä»¥ä½¿ç”¨JSONå—. +å› ä¸ºå¹¶ä¸æ˜¯é¡¹ç›®ä¸­çš„æ¯ä¸ªæ–‡æ¡£éƒ½æœ‰ç« èŠ‚æˆ–è€…ä¸éœ€è¦æ‰€æœ‰çš„傿•°,ä½ å¿…é¡»å£°æ˜Žå“ªäº›å‚æ•°å°†ç”¨äºŽå¯¹æ–‡æ¡£è¿›è¡Œåˆ†æ®µï¼Œåœ¨æ–‡æ¡£çš„任何地方都å¯ä»¥ä½¿ç”¨JSONå—. 例如 [Getting-Started.md](https://github.com/abpio/abp-commercial-docs/blob/master/en/getting-started.md): @@ -570,7 +570,7 @@ This document assumes that you prefer to use **{{ UI_Value }}** as the UI framew ![Navigation menu](../images/docs-module_download-sample-navigation-menu.png) -最åŽ,为你的项目添加了一个新的Docs模å—, 该模å—ç”±GitHubæä¾›. +最åŽï¼Œä¸ºæ‚¨çš„项目添加了一个新的Docs模å—, 该模å—ç”±GitHubæä¾›. ## 全文æœç´¢(Elastic Search) diff --git a/docs/zh-Hans/Object-Extensions.md b/docs/zh-Hans/Object-Extensions.md index f925a8730a..27957708f4 100644 --- a/docs/zh-Hans/Object-Extensions.md +++ b/docs/zh-Hans/Object-Extensions.md @@ -62,7 +62,7 @@ if (user.GetProperty("IsSuperUser")) ##### éžåŸºæœ¬å±žæ€§ç±»åž‹ -å¦‚æžœä½ çš„å±žæ€§ç±»åž‹ä¸æ˜¯åŽŸå§‹ç±»åž‹(int,bool,枚举,字符串等),你需è¦ä½¿ç”¨ `GetProperty` çš„éžæ³›åž‹ç‰ˆæœ¬,它会返回 `object`. +å¦‚æžœæ‚¨çš„å±žæ€§ç±»åž‹ä¸æ˜¯åŽŸå§‹ç±»åž‹(int,bool,枚举,字符串等),你需è¦ä½¿ç”¨ `GetProperty` çš„éžæ³›åž‹ç‰ˆæœ¬,它会返回 `object`. #### HasProperty @@ -176,111 +176,11 @@ ObjectExtensionManager.Instance `options` 有一个å为 `Configuration` 的字典,该字典存储对象扩展定义甚至å¯ä»¥æ‰©å±•. EF Core使用它æ¥å°†å…¶ä»–属性映射到数æ®åº“中的表字段. 请å‚阅[扩展实体文档](Customizing-Application-Modules-Extending-Entities.md). -#### CheckPairDefinitionOnMapping - -æŽ§åˆ¶åœ¨æ˜ å°„ä¸¤ä¸ªå¯æ‰©å±•对象时如何检查属性定义. 请å‚阅*对象到对象映射*部分,了解 `CheckPairDefinitionOnMapping` 选项. - -## Validation - -ä½ å¯èƒ½è¦ä¸ºä½ å®šä¹‰çš„é¢å¤–属性添加一些 **验è¯è§„则**. `AddOrUpdateProperty` 方法选项å…许进行验è¯çš„æ–¹æ³•有两ç§: - -1. ä½ å¯ä»¥ä¸ºå±žæ€§æ·»åŠ  **æ•°æ®æ³¨è§£ attributes**. -2. ä½ å¯ä»¥ç»™å®šä¸€ä¸ªaction(代ç å—)执行 **自定义验è¯**. - -当你在**自动验è¯**的方法(例如:控制器æ“作,页é¢å¤„ç†ç¨‹åºæ–¹æ³•,åº”ç”¨ç¨‹åºæœåŠ¡æ–¹æ³•...)中使用对象时,验è¯ä¼šå·¥ä½œ. å› æ­¤,æ¯å½“æ‰©å±•å¯¹è±¡è¢«éªŒè¯æ—¶,所有é¢å¤–的属性都会被验è¯. - -### æ•°æ®æ³¨è§£ Attributes - -æ‰€æœ‰æ ‡å‡†çš„æ•°æ®æ³¨è§£Attributes对于é¢å¤–属性都是有效的. 例: - -````csharp -ObjectExtensionManager.Instance - .AddOrUpdateProperty( - "SocialSecurityNumber", - options => - { - options.Attributes.Add(new RequiredAttribute()); - options.Attributes.Add( - new StringLengthAttribute(32) { - MinimumLength = 6 - } - ); - }); -```` - -使用以上é…ç½®,如果没有æä¾›æœ‰æ•ˆçš„ `SocialSecurityNumber` 值, `IdentityUserCreateDto` 对象将是无效的. - -### è‡ªå®šä¹‰éªŒè¯ - -如果需è¦,å¯ä»¥æ·»åŠ ä¸€ä¸ªè‡ªå®šä¹‰action验è¯é¢å¤–属性. 例: - -````csharp -ObjectExtensionManager.Instance - .AddOrUpdateProperty( - "SocialSecurityNumber", - options => - { - options.Validators.Add(context => - { - var socialSecurityNumber = context.Value as string; - - if (socialSecurityNumber == null || - socialSecurityNumber.StartsWith("X")) - { - context.ValidationErrors.Add( - new ValidationResult( - "Invalid social security number: " + socialSecurityNumber, - new[] { "SocialSecurityNumber" } - ) - ); - } - }); - }); -```` - -`context.ServiceProvider` å¯ä»¥è§£æžæœåŠ¡. - -除了为å•个属性添加自定义验è¯é€»è¾‘外,还å¯ä»¥æ·»åŠ åœ¨å¯¹è±¡çº§æ‰§è¡Œçš„è‡ªå®šä¹‰éªŒè¯é€»è¾‘. 例: - -````csharp -ObjectExtensionManager.Instance -.AddOrUpdate(objConfig => -{ - //Define two properties with their own validation rules - - objConfig.AddOrUpdateProperty("Password", propertyConfig => - { - propertyConfig.Attributes.Add(new RequiredAttribute()); - }); - - objConfig.AddOrUpdateProperty("PasswordRepeat", propertyConfig => - { - propertyConfig.Attributes.Add(new RequiredAttribute()); - }); - - //Write a common validation logic works on multiple properties - - objConfig.Validators.Add(context => - { - if (context.ValidatingObject.GetProperty("Password") != - context.ValidatingObject.GetProperty("PasswordRepeat")) - { - context.ValidationErrors.Add( - new ValidationResult( - "Please repeat the same password!", - new[] { "Password", "PasswordRepeat" } - ) - ); - } - }); -}); -```` - ## 对象到对象映射 å‡è®¾ä½ å·²å‘坿‰©å±•的实体对象添加了é¢å¤–的属性并使用了自动[对象到对象的映射](Object-To-Object-Mapping.md)å°†è¯¥å®žä½“æ˜ å°„åˆ°å¯æ‰©å±•çš„DTOç±». åœ¨è¿™ç§æƒ…å†µä¸‹ä½ éœ€è¦æ ¼å¤–å°å¿ƒ,因为é¢å¤–属性å¯èƒ½åŒ…å«**æ•æ„Ÿæ•°æ®**,这些数æ®å¯¹äºŽå®¢æˆ·ç«¯ä¸å¯ç”¨. -本节æä¾›äº†ä¸€äº›**å¥½çš„åšæ³•**,å¯ä»¥æŽ§åˆ¶å¯¹è±¡æ˜ å°„çš„é¢å¤–属性. +本节æä¾›äº†ä¸€äº›**å¥½çš„åšæ³•**,å¯ä»¥æŽ§åˆ¶å¯¹è±¡æ˜ å°„çš„é¢å¤–属性。 ### MapExtraPropertiesTo @@ -332,7 +232,7 @@ identityUser.MapExtraPropertiesTo( #### AutoMapperé›†æˆ -如果你使用的是[AutoMapper](https://automapper.org/)库,ABP框架还æä¾›äº†ä¸€ç§æ‰©å±•方法æ¥åˆ©ç”¨ä¸Šé¢å®šä¹‰çš„ `MapExtraPropertiesTo` 方法. +如果您使用的是[AutoMapper](https://automapper.org/)库,ABP框架还æä¾›äº†ä¸€ç§æ‰©å±•方法æ¥åˆ©ç”¨ä¸Šé¢å®šä¹‰çš„ `MapExtraPropertiesTo` 方法. ä½ å¯ä»¥åœ¨æ˜ å°„é…置文件中使用 `MapExtraProperties()` 方法. @@ -347,7 +247,7 @@ public class MyProfile : Profile } ```` -它与 `MapExtraPropertiesTo()` 方法具有相åŒçš„傿•°. +它与 `MapExtraPropertiesTo()` 方法具有相åŒçš„傿•°ã€‚ ## Entity Framework Core æ•°æ®åº“映射 diff --git a/docs/zh-Hans/Object-To-Object-Mapping.md b/docs/zh-Hans/Object-To-Object-Mapping.md index 1b60112cb2..57b744e0bf 100644 --- a/docs/zh-Hans/Object-To-Object-Mapping.md +++ b/docs/zh-Hans/Object-To-Object-Mapping.md @@ -168,7 +168,7 @@ public class MyProfile : Profile å‡è®¾ä½ å·²ç»åˆ›å»ºäº†ä¸€ä¸ª**å¯é‡ç”¨çš„æ¨¡å—**,其中定义了AutoMapperé…置文件,å¹¶åœ¨éœ€è¦æ˜ å°„对象时使用 `IObjectMapper`. æ ¹æ®[模å—化](Module-Development-Basics.md)的性质,你的模å—å¯ä»¥ç”¨äºŽä¸åŒçš„应用程åº. -`IObjectMapper` 是一个抽象,å¯ä»¥ç”±æœ€ç»ˆåº”ç”¨ç¨‹åºæ›¿æ¢ä½¿ç”¨å¦ä¸€ä¸ªæ˜ å°„库. 这里的问题是你的å¯é‡ç”¨æ¨¡å—设计为使用AutoMapper,因为它为其定义映射é…置文件. è¿™ç§æƒ…况下å³ä½¿æœ€ç»ˆåº”用程åºä½¿ç”¨å¦ä¸€ä¸ªé»˜è®¤å¯¹è±¡æ˜ å°„库,你也è¦ä¿è¯æ¨¡å—始终使用AutoMapper. +`IObjectMapper` 是一个抽象,å¯ä»¥ç”±æœ€ç»ˆåº”ç”¨ç¨‹åºæ›¿æ¢ä½¿ç”¨å¦ä¸€ä¸ªæ˜ å°„库. 这里的问题是你的å¯é‡ç”¨æ¨¡å—设计为使用AutoMapper,因为它为其定义映射é…置文件. è¿™ç§æƒ…况下å³ä½¿æœ€ç»ˆåº”用程åºä½¿ç”¨å¦ä¸€ä¸ªé»˜è®¤å¯¹è±¡æ˜ å°„库,你也è¦ä¿è¯æ¨¡å—始终使用AutoMapper. `IObjectMapper`将对象映射器上下文化,ä½ å¯ä»¥ä¸ºä¸åŒçš„ æ¨¡å—/上下文 使用ä¸åŒçš„库. @@ -201,7 +201,7 @@ public class UserAppService : ApplicationService `UserAppService` 注入 `IObjectMapper`, 它是模å—的特定对象映射器,用法与 `IObjectMapper` 完全相åŒ. -上é¢çš„ç¤ºä¾‹ä»£ç æœªä½¿ç”¨ `ApplicationService` 中定义的 `ObjectMapper` 属性,而是注入了 `IObjectMapper`. 但是 `ApplicationService` 定义了å¯ä»¥åœ¨ç±»æž„造函数中设置的 `ObjectMapperContext` 属性, å› æ­¤ä»ç„¶å¯ä»¥ä½¿ç”¨åŸºç±»å±žæ€§. 示例å¯ä»¥è¿›è¡Œä»¥ä¸‹é‡å†™: +上é¢çš„ç¤ºä¾‹ä»£ç æœªä½¿ç”¨ `ApplicationService` 中定义的 `ObjectMapper` 属性,而是注入了 `IObjectMapper`. 但是 `ApplicationService` 定义了å¯ä»¥åœ¨ç±»æž„造函数中设置的 `ObjectMapperContext` 属性, å› æ­¤ä»ç„¶å¯ä»¥ä½¿ç”¨åŸºç±»å±žæ€§. 示例å¯ä»¥è¿›è¡Œä»¥ä¸‹é‡å†™: ````csharp public class UserAppService : ApplicationService diff --git a/docs/zh-Hans/Options.md b/docs/zh-Hans/Options.md index c88ff0adda..18ccd90bed 100644 --- a/docs/zh-Hans/Options.md +++ b/docs/zh-Hans/Options.md @@ -9,7 +9,7 @@ ABP框架éµå¾ªé€‰é¡¹æ¨¡å¼,并定义了用于é…置框架和模å—的选项类( ## é…置选项 通常é…置选项在 `Startup` 类的 `ConfigureServices` 方法中. 但由于ABP框架æä¾›äº†æ¨¡å—化基础设施,因此你å¯ä»¥åœ¨[模å—](Module-Development-Basics.md)çš„`ConfigureServices` 方法é…置选项. -例: +例: ````csharp public override void ConfigureServices(ServiceConfigurationContext context) @@ -34,7 +34,7 @@ public class MyOptions } ```` -ç„¶åŽå¼€å‘人员å¯ä»¥åƒä¸Šé¢ `AbpAuditingOptions` 示例一样é…置你的选项: +ç„¶åŽå¼€å‘人员å¯ä»¥åƒä¸Šé¢ `AbpAuditingOptions` 示例一样é…置你的选项: ````csharp public override void ConfigureServices(ServiceConfigurationContext context) @@ -80,9 +80,9 @@ public class MyService : ITransientDependency 如果你正在开å‘一个模å—,å¯èƒ½éœ€è¦è®©å¼€å‘者能够设置一些选项,并在ä¾èµ–注入注册阶段使用这些选项. ä½ å¯èƒ½éœ€è¦æ ¹æ®é€‰é¡¹å€¼é…置其他æœåŠ¡æˆ–æ›´æ”¹ä¾èµ–注入的注册代ç . -对于此类情况,ABP为 `IServiceCollection` 引入了 `PreConfigure` å’Œ `ExecutePreConfiguredActions` 扩展方法. 该模å¼çš„工作原ç†å¦‚下所述. +对于此类情况,ABP为 `IServiceCollection` 引入了 `PreConfigure` å’Œ `ExecutePreConfiguredActions` 扩展方法. 该模å¼çš„工作原ç†å¦‚下所述。 -1. 你的模å—中定义计划选项类. 例: +1. 你的模å—中定义计划选项类. 例: ````csharp public class MyPreOptions @@ -92,7 +92,7 @@ public class MyPreOptions ```` ç„¶åŽä»»ä½•ä¾èµ–于模å—的模å—类都å¯ä»¥åœ¨å…¶ `PreConfigureServices` 方法中使用 `PreConfigure` 方法. -例: +例: ````csharp public override void PreConfigureServices(ServiceConfigurationContext context) diff --git a/docs/zh-Hans/Samples/Microservice-Demo.md b/docs/zh-Hans/Samples/Microservice-Demo.md index 40cb42cda6..9b559797f7 100644 --- a/docs/zh-Hans/Samples/Microservice-Demo.md +++ b/docs/zh-Hans/Samples/Microservice-Demo.md @@ -51,13 +51,13 @@ ABP框架的主è¦ç›®æ ‡ä¹‹ä¸€å°±æ˜¯æä¾›[便æ·çš„基础设施æ¥åˆ›å»ºå¾®æœ ### 创建数æ®åº“ -MongoDB æ•°æ®åº“是动æ€åˆ›å»ºçš„,但是你需è¦åˆ›å»º SQL server æ•°æ®åº“的结构.其实你å¯ä»¥å¾ˆè½»æ¾çš„创建数æ®åº“,因为这个解决方案é…置了使用 Entity Core Code First æ¥åšè¿ç§». +MongoDB æ•°æ®åº“是动æ€åˆ›å»ºçš„,但是你需è¦åˆ›å»º SQL server æ•°æ®åº“的结构。其实你å¯ä»¥å¾ˆè½»æ¾çš„创建数æ®åº“,因为这个解决方案é…置了使用 Entity Core Code First æ¥åšè¿ç§»ã€‚ -这个解决方案中有两个 SQL server æ•°æ®åº“. +这个解决方案中有两个 SQL server æ•°æ®åº“。 #### MsDemo_Identity æ•°æ®åº“ -* å³é”® `AuthServer.Host` 项目,ç„¶åŽç‚¹å‡» `设置为å¯åŠ¨é¡¹ç›®`. +* å³é”® `AuthServer.Host` 项目,然åŽç‚¹å‡» `设置为å¯åŠ¨é¡¹ç›®`. * 打开 **程åºåŒ…管ç†å™¨æŽ§åˆ¶å°** (工具 -> NuGet 包管ç†å™¨ -> 程åºåŒ…管ç†å™¨æŽ§åˆ¶å°) * 选择 `AuthServer.Host` æˆä¸º **默认项目**. * 执行 `Update-Database` 命令. @@ -66,7 +66,7 @@ MongoDB æ•°æ®åº“是动æ€åˆ›å»ºçš„,但是你需è¦åˆ›å»º SQL server æ•°æ®åº“ #### MsDemo_ProductManagement -* å³é”® `ProductService.Host` 项目,ç„¶åŽç‚¹å‡» `设置为å¯åŠ¨é¡¹ç›®`. +* å³é”® `ProductService.Host` 项目,然åŽç‚¹å‡» `设置为å¯åŠ¨é¡¹ç›®`. * 打开 **程åºåŒ…管ç†å™¨æŽ§åˆ¶å°** (工具 -> NuGet 包管ç†å™¨ -> 程åºåŒ…管ç†å™¨æŽ§åˆ¶å°) * 选择 `ProductService.Host` æˆä¸º **默认项目**. * 执行 `Update-Database` 命令. @@ -334,7 +334,7 @@ context.Services.AddAuthentication(options => - 它需è¦é¢å¤–的身份范围 *role*, *email* and *phone*. - 它需è¦API资æºèŒƒå›´ *PublicWebSiteGateway*,*BloggingService*å’Œ*ProductService*,因为它将这些æœåŠ¡ç”¨ä½œAPI. -IdentityServer客户端设置存储在`appsettings.json`文件中: +IdentityServer客户端设置存储在`appsettings.json`文件中: ```json "AuthServer": { @@ -348,7 +348,7 @@ IdentityServer客户端设置存储在`appsettings.json`文件中: PublicWebSite.Host项目有一个列出产å“çš„é¡µé¢ (`Pages/Products.cshtml`). 它还使用åšå®¢æ¨¡å—中的UI. 为此`PublicWebSiteHostModule`加入了`BloggingWebModule`(*[Volo.Blogging.Web](https://www.nuget.org/packages/Volo.Blogging.Web)* 包)çš„ä¾èµ–项. -产å“页é¢çš„å±å¹•截图: +产å“页é¢çš„å±å¹•截图: ![microservice-sample-public-product-list](../images/microservice-sample-public-product-list.png) @@ -390,7 +390,7 @@ PublicWebSite.Host项目有一个列出产å“çš„é¡µé¢ (`Pages/Products.cshtml`) #### 远程æœåŠ¡é…ç½® -`appsettings.json`文件中的`RemoteService`é…置很简å•: +`appsettings.json`文件中的`RemoteService`é…置很简å•: ````json "RemoteServices": { @@ -418,7 +418,7 @@ PublicWebSite.Host项目有一个列出产å“çš„é¡µé¢ (`Pages/Products.cshtml`) } ```` -此示例使用`client_credentials` 授予类型,该类型需è¦`ClientId`å’Œ`ClientSecret`进行身份验è¯è¿‡ç¨‹. 还有[其他授予类型](http://docs.identityserver.io/en/latest/topics/grant_types.html). 例如, ä½ å¯ä»¥ä½¿ç”¨ä»¥ä¸‹é…置切æ¢åˆ°`password`(Resource Owner Password)授予类型: +此示例使用`client_credentials` 授予类型,该类型需è¦`ClientId`å’Œ`ClientSecret`进行身份验è¯è¿‡ç¨‹. 还有[其他授予类型](http://docs.identityserver.io/en/latest/topics/grant_types.html). 例如, ä½ å¯ä»¥ä½¿ç”¨ä»¥ä¸‹é…置切æ¢åˆ°`password`(Resource Owner Password)授予类型: ````json "IdentityClients": { @@ -571,7 +571,7 @@ app.UseOcelot().Wait(); #### æƒé™ç®¡ç† -åŽç«¯ç®¡ç†åº”ç”¨ç¨‹åºæä¾›æƒé™ç®¡ç†UI(之å‰è§è¿‡),并使用此网关获å–/设置æƒé™. æƒé™ç®¡ç†API托管在网关内,è€Œä¸æ˜¯å•独的æœåŠ¡. 这是一个设计决策,但如果你愿æ„,它å¯ä»¥ä½œä¸ºå¦ä¸€ä¸ªå¾®æœåŠ¡æ‰˜ç®¡. +åŽç«¯ç®¡ç†åº”ç”¨ç¨‹åºæä¾›æƒé™ç®¡ç†UI(之å‰è§è¿‡),并使用此网关获å–/设置æƒé™. æƒé™ç®¡ç†API托管在网关内,è€Œä¸æ˜¯å•独的æœåŠ¡. 这是一个设计决策,但如果您愿æ„,它å¯ä»¥ä½œä¸ºå¦ä¸€ä¸ªå¾®æœåŠ¡æ‰˜ç®¡. #### Dependencies @@ -1229,7 +1229,7 @@ public class ProductCodeAlreadyExistsException : BusinessException } ```` -`PM:000001`是å‘é€ç»™å®¢æˆ·ç«¯çš„异常类型的代ç ,因此他们å¯ä»¥ç†è§£é”™è¯¯ç±»åž‹. åœ¨è¿™ç§æƒ…况下没有实现,但也å¯ä»¥æœ¬åœ°åŒ–业务异常. 请å‚阅[å¼‚å¸¸å¤„ç†æ–‡æ¡£](../Exception-Handling.md). +`PM:000001`是å‘é€ç»™å®¢æˆ·ç«¯çš„异常类型的代ç ,因此他们å¯ä»¥ç†è§£é”™è¯¯ç±»åž‹. åœ¨è¿™ç§æƒ…况下没有实现,但也å¯ä»¥æœ¬åœ°åŒ–业务异常. 请å‚阅[å¼‚å¸¸å¤„ç†æ–‡æ¡£](../Exception-Handling.md). #### 应用层 @@ -1278,7 +1278,7 @@ public async Task UpdateAsync(Guid id, UpdateProductDto input) 分布å¼äº‹ä»¶(事件总线)æ˜¯ä¸€ç§æ¶ˆæ¯ä¼ é€’æ–¹å¼,其中æœåС引å‘/触å‘事件,而其他æœåŠ¡æ³¨å†Œ/侦å¬è¿™äº›äº‹ä»¶,以便在å‘生é‡è¦äº‹ä»¶æ—¶å¾—到通知. ABP通过æä¾›çº¦å®š,æœåŠ¡å’Œé›†æˆä½¿åˆ†å¸ƒå¼äº‹ä»¶æ›´æ˜“于使用. -ä½ å·²ç»çœ‹åˆ°`Product`类使用以下代ç è¡Œå‘布事件: +您已ç»çœ‹åˆ°`Product`类使用以下代ç è¡Œå‘布事件: ````csharp AddDistributedEvent(new ProductStockCountChangedEto(Id, StockCount, stockCount)); @@ -1406,7 +1406,7 @@ Kibana URL默认为`http://localhost:5601/`. ABPæä¾›è‡ªåŠ¨å®¡è®¡æ—¥å¿—è®°å½•,详细ä¿å­˜æ¯ä¸ªè¯·æ±‚(当å‰ç”¨æˆ·,æµè§ˆå™¨/客户端,执行了哪些æ“作,哪些实体更改,甚至实体的哪些属性已更新). 有关详细信æ¯,请å‚阅[审计日志文档](../Audit-Logging.md). -所有æœåŠ¡å’Œåº”ç”¨ç¨‹åºéƒ½é…置为编写审核日志. 审核日志将ä¿å­˜åˆ°MsDemo_Identity SQLæ•°æ®åº“中. å› æ­¤,ä½ å¯ä»¥ä»Žå•个点查询所有应用程åºçš„æ‰€æœ‰å®¡æ ¸æ—¥å¿—. +所有æœåŠ¡å’Œåº”ç”¨ç¨‹åºéƒ½é…置为编写审核日志. 审核日志将ä¿å­˜åˆ°MsDemo_Identity SQLæ•°æ®åº“中. å› æ­¤,您å¯ä»¥ä»Žå•个点查询所有应用程åºçš„æ‰€æœ‰å®¡æ ¸æ—¥å¿—. 审核日志记录具有`CorrelationId`属性,å¯ç”¨äºŽè·Ÿè¸ªè¯·æ±‚. 当æœåŠ¡åœ¨å•个Web请求中调用å¦ä¸€ä¸ªæœåŠ¡æ—¶,它们都会使用相åŒçš„`CorrelationId`ä¿å­˜å®¡æ ¸æ—¥å¿—. 请å‚阅数æ®åº“中的`AbpAuditLogs`表. diff --git a/docs/zh-Hans/Settings.md b/docs/zh-Hans/Settings.md index a4d84c91b7..25559082f2 100644 --- a/docs/zh-Hans/Settings.md +++ b/docs/zh-Hans/Settings.md @@ -226,6 +226,6 @@ Configure(options => ## è®¾ç½®ç®¡ç†æ¨¡å— -设置系统核心是相当独立的,ä¸åšä»»ä½•关于如何管ç†(更改)设置值的å‡è®¾. 默认的`ISettingStore`实现也是`NullSettingStore`,它为所有设置值返回null. +设置系统核心是相当独立的,ä¸åšä»»ä½•关于如何管ç†(更改)设置值的å‡è®¾. 默认的`ISettingStore`实现也是`NullSettingStore`,它为所有设置值返回null. è®¾ç½®ç®¡ç†æ¨¡å—é€šè¿‡ç®¡ç†æ•°æ®åº“中的设置值æ¥å®Œæˆé€»è¾‘(实现`ISettingStore`).有关更多信æ¯å‚阅[è®¾ç½®ç®¡ç†æ¨¡å—](Modules/Setting-Management.md)学习更多. diff --git a/docs/zh-Hans/Specifications.md b/docs/zh-Hans/Specifications.md deleted file mode 100644 index f927c80255..0000000000 --- a/docs/zh-Hans/Specifications.md +++ /dev/null @@ -1,3 +0,0 @@ -## 规约 - -TODO.. \ No newline at end of file diff --git a/docs/zh-Hans/Startup-Templates/Application.md b/docs/zh-Hans/Startup-Templates/Application.md index 4e2c3f6700..31453ff728 100644 --- a/docs/zh-Hans/Startup-Templates/Application.md +++ b/docs/zh-Hans/Startup-Templates/Application.md @@ -348,7 +348,7 @@ Homeæ¨¡å—æ˜¯ä¸€ä¸ªå¯å»¶è¿ŸåŠ è½½çš„æ¨¡å—, 它加载应用程åºçš„æ ¹åœ°å€. React æœ¬æœºåº”ç”¨ç¨‹åºæ˜¯ç”¨ [Expo](https://expo.io/)生æˆçš„. Expo 是一套基于 React Native 构建的工具, 帮助你快速å¯åŠ¨ä¸€ä¸ªåº”ç”¨ç¨‹åº, 尽管它有很多功能. -React Native 应用文件夹结构, 如下图所示: +React Native 应用文件夹结构, 如下图所示: ![react-native-folder-structure](../images/react-native-folder-structure.png) @@ -380,7 +380,7 @@ Screens 是通过在 `src/screens` 文件夹中创建将å称分开的文件夹 [Redux](https://redux.js.org/) 被用作状æ€ç®¡ç†åº“. [Redux Toolkit](https://redux-toolkit.js.org/) 库被用作高效Reduxå¼€å‘的工具集. -在 `src/store` 文件夹中创建 Actions, reducers, sagas, selectors. 存储文件夹如下: +在 `src/store` 文件夹中创建 Actions, reducers, sagas, selectors. 存储文件夹如下: ![react-native-store-folder](../images/react-native-store-folder.png) diff --git a/docs/zh-Hans/Startup-Templates/Index.md b/docs/zh-Hans/Startup-Templates/Index.md index 160a2b3e20..57389e6df0 100644 --- a/docs/zh-Hans/Startup-Templates/Index.md +++ b/docs/zh-Hans/Startup-Templates/Index.md @@ -2,7 +2,7 @@ 虽然你å¯ä»¥ä»Žä¸€ä¸ªç©ºé¡¹ç›®å¼€å§‹å¹¶æ‰‹åŠ¨æ·»åŠ æ‰€éœ€çš„åŒ…,但å¯åŠ¨æ¨¡æ¿å¯ä»¥éžå¸¸è½»æ¾,舒适地使用ABP框架å¯åŠ¨æ–°çš„è§£å†³æ–¹æ¡ˆ. -å•击下é¢åˆ—表中的å称以查看相关å¯åŠ¨æ¨¡æ¿çš„æ–‡æ¡£: +å•击下é¢åˆ—表中的å称以查看相关å¯åŠ¨æ¨¡æ¿çš„æ–‡æ¡£ï¼š * [**app**](Application.md): åº”ç”¨ç¨‹åºæ¨¡æ¿. * [**module**](Module.md): 模å—/æœåŠ¡æ¨¡æ¿. \ No newline at end of file diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-I.md b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-I.md index 7c2db90997..e1cbb73cc1 100644 --- a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-I.md +++ b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-I.md @@ -33,7 +33,7 @@ - `Acme.BookStore.Domain`包å«ä½ çš„[实体](https://docs.abp.io/zh-Hans/abp/latest/Entities), [领域æœåŠ¡](https://docs.abp.io/zh-Hans/abp/latest/Domain-Services)和其他核心域对象. - `Acme.BookStore.Domain.Shared`包å«å¯ä¸Žå®¢æˆ·å…±äº«çš„常é‡,枚举或其他域相关对象. -在解决方案的**领域层**(`Acme.BookStore.Domain`项目)中定义[实体](https://docs.abp.io/zh-Hans/abp/latest/Entities). 该应用程åºçš„主è¦å®žä½“是`Book`. 在`Acme.BookStore.Domain`项目中创建一个å为`Book`的类,如下所示: +在解决方案的**领域层**(`Acme.BookStore.Domain`项目)中定义[实体](https://docs.abp.io/zh-Hans/abp/latest/Entities). 该应用程åºçš„主è¦å®žä½“是`Book`. 在`Acme.BookStore.Domain`项目中创建一个å为`Book`的类,如下所示: ````C# using System; @@ -132,7 +132,7 @@ PM> Update-Database #### æ·»åŠ ç¤ºä¾‹æ•°æ® -`Update-Database`命令在数æ®åº“中创建了`AppBooks`表. 打开数æ®åº“并输入几个示例行,以便在页é¢ä¸Šæ˜¾ç¤ºå®ƒä»¬: +`Update-Database`命令在数æ®åº“中创建了`AppBooks`表. 打开数æ®åº“并输入几个示例行,以便在页é¢ä¸Šæ˜¾ç¤ºå®ƒä»¬: ![bookstore-books-table](images/bookstore-books-table.png) @@ -290,7 +290,7 @@ namespace Acme.BookStore #### Swagger UI -å¯åŠ¨æ¨¡æ¿é…置为使用[Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)è¿è¡Œ[swagger UI](https://swagger.io/tools/swagger-ui/). è¿è¡Œåº”用程åºå¹¶åœ¨æµè§ˆå™¨ä¸­è¾“å…¥`https://localhost:XXXX/swagger/`(ç”¨ä½ è‡ªå·±çš„ç«¯å£æ›¿æ¢XXXX)作为URL. +å¯åŠ¨æ¨¡æ¿é…置为使用[Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)è¿è¡Œ[swagger UI](https://swagger.io/tools/swagger-ui/). è¿è¡Œåº”用程åºå¹¶åœ¨æµè§ˆå™¨ä¸­è¾“å…¥`https://localhost:XXXX/swagger/`(ç”¨æ‚¨è‡ªå·±çš„ç«¯å£æ›¿æ¢XXXX)作为URL. 你会看到一些内置的接å£å’Œ`Book`的接å£,它们都是REST风格的: @@ -380,7 +380,7 @@ context.Menu.AddItem( ![bookstore-localization-files](images/bookstore-localization-files-v2.png) -打开`en.json`文件,å°†`Menu:BookStore`å’Œ`Menu:Books`键的本地化文本添加到文件末尾: +打开`en.json`文件,å°†`Menu:BookStore`å’Œ`Menu:Books`键的本地化文本添加到文件末尾: ````json { diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-III.md b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-III.md index e072e5a1a7..a5e51134fa 100644 --- a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-III.md +++ b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-III.md @@ -14,7 +14,7 @@ ### 解决方案中的测试项目 -解决方案中有多个测试项目: +解决方案中有多个测试项目: ![bookstore-test-projects-v2](images/bookstore-test-projects-v2.png) @@ -68,7 +68,7 @@ namespace Acme.BookStore ```` * 注入`IRepository`并在`SeedAsync`中使用它æ¥åˆ›å»ºä¸¤ä¸ªä¹¦å®žä½“作为测试数æ®. -* 使用`IGuidGenerator`æœåŠ¡åˆ›å»ºGUID. 虽然`Guid.NewGuid()`éžå¸¸é€‚åˆæµ‹è¯•,但`IGuidGenerator`在使用真实数æ®åº“时还有其他特别é‡è¦çš„功能(å‚è§[Guidç”Ÿæˆæ–‡æ¡£](../../../Guid-Generation.md)了解更多信æ¯). +* 使用`IGuidGenerator`æœåŠ¡åˆ›å»ºGUID. 虽然`Guid.NewGuid()`éžå¸¸é€‚åˆæµ‹è¯•,但`IGuidGenerator`在使用真实数æ®åº“时还有其他特别é‡è¦çš„功能(å‚è§[Guidç”Ÿæˆæ–‡æ¡£](../../../Guid-Generation.md)了解更多信æ¯). ### 测试 BookAppService diff --git a/docs/zh-Hans/Tutorials/images/bookstore-add-create-dialog-v2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-create-dialog-v2.png similarity index 100% rename from docs/zh-Hans/Tutorials/images/bookstore-add-create-dialog-v2.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-create-dialog-v2.png diff --git a/docs/zh-Hans/Tutorials/images/bookstore-add-edit-dialog.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-edit-dialog.png similarity index 100% rename from docs/zh-Hans/Tutorials/images/bookstore-add-edit-dialog.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-edit-dialog.png diff --git a/docs/zh-Hans/Tutorials/images/bookstore-add-index-page-v2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-index-page-v2.png similarity index 100% rename from docs/zh-Hans/Tutorials/images/bookstore-add-index-page-v2.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-index-page-v2.png diff --git a/docs/zh-Hans/Tutorials/images/bookstore-appservice-tests.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-appservice-tests.png similarity index 100% rename from docs/zh-Hans/Tutorials/images/bookstore-appservice-tests.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-appservice-tests.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-book-list-2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-book-list-2.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d49a661b9ea3388a4f26350bb8a64a7a89c8bf GIT binary patch literal 33396 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-books-table-actions.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-books-table-actions.png similarity index 100% rename from docs/zh-Hans/Tutorials/images/bookstore-books-table-actions.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-books-table-actions.png diff --git a/docs/zh-Hans/Tutorials/images/bookstore-books-table.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-books-table.png similarity index 100% rename from docs/zh-Hans/Tutorials/images/bookstore-books-table.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-books-table.png diff --git a/docs/zh-Hans/Tutorials/images/bookstore-create-dialog-2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-dialog-2.png similarity index 100% rename from docs/zh-Hans/Tutorials/images/bookstore-create-dialog-2.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-dialog-2.png diff --git a/docs/zh-Hans/Tutorials/images/bookstore-create-dialog.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-dialog.png similarity index 100% rename from docs/zh-Hans/Tutorials/images/bookstore-create-dialog.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-dialog.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-template.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-template.png new file mode 100644 index 0000000000000000000000000000000000000000..7cc96c8c943ede472f900a0b0f73be8874b5e4c2 GIT binary patch literal 32422 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 rq`-$Eum>2eJtG6rYUx;??k7z}`tIX684UzKl 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 z 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ⅇ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 Ydkw1Q-$vg3F9tM~r<#go@)qy@2l?iINB{r; diff --git a/docs/en/UI/Angular/images/navigation-menu-via-config-state.png b/docs/en/UI/Angular/images/navigation-menu-via-config-state.png deleted file mode 100644 index 19944f154dbe9d7cba3ddd15476820fb54f61f09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45536 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