From 59a488d7dbe4a0cc1c79dcc7862d12f92192e363 Mon Sep 17 00:00:00 2001
From: cKey <35512826+colinin@users.noreply.github.com>
Date: Thu, 2 Dec 2021 14:22:22 +0800
Subject: [PATCH] =?UTF-8?q?fix(localization):=20=E8=A7=A3=E5=86=B3?=
=?UTF-8?q?=E6=9C=AC=E5=9C=B0=E5=8C=96=E5=90=8D=E7=A7=B0=E5=B7=AE=E5=BC=82?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
aspnet-core/LINGYUN.MicroService.All.sln | 7 +++
...LINGYUN.Abp.Localization.CultureMap.csproj | 14 +++++
.../AbpCultureMapRequestCultureProvider.cs | 62 +++++++++++++++++++
.../AbpLocalizationCultureMapModule.cs | 10 +++
.../AbpLocalizationCultureMapOptions.cs | 17 +++++
.../Localization/CultureMap/CultureMapInfo.cs | 9 +++
...pCultureMapApplicationBuilderExtensions.cs | 19 ++++++
.../README.md | 53 ++++++++++++++++
.../AuthIdentityServerModule.Configure.cs | 13 ++++
.../AuthIdentityServerModule.cs | 6 +-
.../AuthServer.Host/AuthServer.Host.csproj | 1 +
.../BackendAdminHostModule.Configure.cs | 25 ++++----
.../BackendAdminHostModule.cs | 8 ++-
...NGYUN.Abp.BackendAdmin.HttpApi.Host.csproj | 1 +
.../Properties/launchSettings.json | 2 +-
.../ApiGatewayHttpApiHostModule.Configure.cs | 13 ++++
.../ApiGatewayHttpApiHostModule.cs | 4 +-
.../LINGYUN.ApiGateway.HttpApi.Host.csproj | 1 +
...yServerAdminHttpApiHostModule.Configure.cs | 13 ++++
...AbpIdentityServerAdminHttpApiHostModule.cs | 8 ++-
...UN.Abp.IdentityServer4.HttpApi.Host.csproj | 1 +
...onManagementHttpApiHostModule.Configure.cs | 13 ++++
...LocalizationManagementHttpApiHostModule.cs | 6 +-
...LocalizationManagement.HttpApi.Host.csproj | 1 +
...ssageServiceHttpApiHostModule.Configure.cs | 13 ++++
.../AbpMessageServiceHttpApiHostModule.cs | 9 ++-
...YUN.Abp.MessageService.HttpApi.Host.csproj | 1 +
.../AppPlatformHttpApiHostModule.Configure.cs | 13 ++++
.../AppPlatformHttpApiHostModule.cs | 13 ++--
.../LINGYUN.Platform.HttpApi.Host.csproj | 1 +
30 files changed, 327 insertions(+), 30 deletions(-)
create mode 100644 aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN.Abp.Localization.CultureMap.csproj
create mode 100644 aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpCultureMapRequestCultureProvider.cs
create mode 100644 aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpLocalizationCultureMapModule.cs
create mode 100644 aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpLocalizationCultureMapOptions.cs
create mode 100644 aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/CultureMapInfo.cs
create mode 100644 aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/Microsoft/AspNetCore/Builder/AbpCultureMapApplicationBuilderExtensions.cs
create mode 100644 aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/README.md
diff --git a/aspnet-core/LINGYUN.MicroService.All.sln b/aspnet-core/LINGYUN.MicroService.All.sln
index 453a3ab18..ef5c031ee 100644
--- a/aspnet-core/LINGYUN.MicroService.All.sln
+++ b/aspnet-core/LINGYUN.MicroService.All.sln
@@ -369,6 +369,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Dapr.Actors", "
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Dapr.Actors.AspNetCore", "modules\dapr\LINGYUN.Abp.Dapr.Actors.AspNetCore\LINGYUN.Abp.Dapr.Actors.AspNetCore.csproj", "{995756A1-A379-4797-89F0-87D219B5AF00}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Localization.CultureMap", "modules\localization\LINGYUN.Abp.Localization.CultureMap\LINGYUN.Abp.Localization.CultureMap.csproj", "{EB73D2CC-B1BE-471A-B76E-35F288CD0E16}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -963,6 +965,10 @@ Global
{995756A1-A379-4797-89F0-87D219B5AF00}.Debug|Any CPU.Build.0 = Debug|Any CPU
{995756A1-A379-4797-89F0-87D219B5AF00}.Release|Any CPU.ActiveCfg = Release|Any CPU
{995756A1-A379-4797-89F0-87D219B5AF00}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EB73D2CC-B1BE-471A-B76E-35F288CD0E16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EB73D2CC-B1BE-471A-B76E-35F288CD0E16}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EB73D2CC-B1BE-471A-B76E-35F288CD0E16}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EB73D2CC-B1BE-471A-B76E-35F288CD0E16}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1145,6 +1151,7 @@ Global
{93317D44-835C-4F5E-B85D-580D51D5FFF4} = {DC33925B-264D-421B-96CC-46F853CBCC70}
{DAF80936-FBEC-45AB-92DF-34966B0148FD} = {DC33925B-264D-421B-96CC-46F853CBCC70}
{995756A1-A379-4797-89F0-87D219B5AF00} = {DC33925B-264D-421B-96CC-46F853CBCC70}
+ {EB73D2CC-B1BE-471A-B76E-35F288CD0E16} = {90E88EAC-4291-4406-8D88-EFDF61B11292}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C95FDF91-16F2-4A8B-A4BE-0E62D1B66718}
diff --git a/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN.Abp.Localization.CultureMap.csproj b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN.Abp.Localization.CultureMap.csproj
new file mode 100644
index 000000000..9ea6a6079
--- /dev/null
+++ b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN.Abp.Localization.CultureMap.csproj
@@ -0,0 +1,14 @@
+
+
+
+
+
+ net5.0
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpCultureMapRequestCultureProvider.cs b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpCultureMapRequestCultureProvider.cs
new file mode 100644
index 000000000..1202c5aba
--- /dev/null
+++ b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpCultureMapRequestCultureProvider.cs
@@ -0,0 +1,62 @@
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Localization;
+using Microsoft.AspNetCore.RequestLocalization;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Options;
+using Microsoft.Extensions.Primitives;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace LINGYUN.Abp.Localization.CultureMap
+{
+ public class AbpCultureMapRequestCultureProvider : RequestCultureProvider
+ {
+ public override async Task DetermineProviderCultureResult(HttpContext httpContext)
+ {
+ if (httpContext == null)
+ {
+ throw new ArgumentNullException(nameof(httpContext));
+ }
+
+ var option = httpContext.RequestServices.GetRequiredService>().Value;
+
+ var mapCultures = new List();
+ var mapUiCultures = new List();
+
+ var requestLocalizationOptionsProvider = httpContext.RequestServices.GetRequiredService();
+ foreach (var provider in (await requestLocalizationOptionsProvider.GetLocalizationOptionsAsync()).RequestCultureProviders)
+ {
+ if (provider == this)
+ {
+ continue;
+ }
+
+ var providerCultureResult = await provider.DetermineProviderCultureResult(httpContext);
+ if (providerCultureResult == null)
+ {
+ continue;
+ }
+
+ mapCultures.AddRange(providerCultureResult.Cultures.Where(x => x.HasValue)
+ .Select(culture =>
+ {
+ var map = option.CulturesMaps.FirstOrDefault(x =>
+ x.SourceCultures.Contains(culture.Value, StringComparer.OrdinalIgnoreCase));
+ return new StringSegment(map?.TargetCulture ?? culture.Value);
+ }));
+
+ mapUiCultures.AddRange(providerCultureResult.UICultures.Where(x => x.HasValue)
+ .Select(culture =>
+ {
+ var map = option.UiCulturesMaps.FirstOrDefault(x =>
+ x.SourceCultures.Contains(culture.Value, StringComparer.OrdinalIgnoreCase));
+ return new StringSegment(map?.TargetCulture ?? culture.Value);
+ }));
+ }
+
+ return new ProviderCultureResult(mapCultures, mapUiCultures);
+ }
+ }
+}
diff --git a/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpLocalizationCultureMapModule.cs b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpLocalizationCultureMapModule.cs
new file mode 100644
index 000000000..ca79bbf08
--- /dev/null
+++ b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpLocalizationCultureMapModule.cs
@@ -0,0 +1,10 @@
+using Volo.Abp.AspNetCore;
+using Volo.Abp.Modularity;
+
+namespace LINGYUN.Abp.Localization.CultureMap
+{
+ [DependsOn(typeof(AbpAspNetCoreModule))]
+ public class AbpLocalizationCultureMapModule : AbpModule
+ {
+ }
+}
diff --git a/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpLocalizationCultureMapOptions.cs b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpLocalizationCultureMapOptions.cs
new file mode 100644
index 000000000..65eb0f775
--- /dev/null
+++ b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/AbpLocalizationCultureMapOptions.cs
@@ -0,0 +1,17 @@
+using System.Collections.Generic;
+
+namespace LINGYUN.Abp.Localization.CultureMap
+{
+ public class AbpLocalizationCultureMapOptions
+ {
+ public List CulturesMaps { get; }
+
+ public List UiCulturesMaps { get; }
+
+ public AbpLocalizationCultureMapOptions()
+ {
+ CulturesMaps = new List();
+ UiCulturesMaps = new List();
+ }
+ }
+}
diff --git a/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/CultureMapInfo.cs b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/CultureMapInfo.cs
new file mode 100644
index 000000000..6269e852b
--- /dev/null
+++ b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/LINGYUN/Abp/Localization/CultureMap/CultureMapInfo.cs
@@ -0,0 +1,9 @@
+namespace LINGYUN.Abp.Localization.CultureMap
+{
+ public class CultureMapInfo
+ {
+ public string TargetCulture { get; set; }
+
+ public string[] SourceCultures { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/Microsoft/AspNetCore/Builder/AbpCultureMapApplicationBuilderExtensions.cs b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/Microsoft/AspNetCore/Builder/AbpCultureMapApplicationBuilderExtensions.cs
new file mode 100644
index 000000000..42b6639d5
--- /dev/null
+++ b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/Microsoft/AspNetCore/Builder/AbpCultureMapApplicationBuilderExtensions.cs
@@ -0,0 +1,19 @@
+using LINGYUN.Abp.Localization.CultureMap;
+using System;
+
+namespace Microsoft.AspNetCore.Builder
+{
+ public static class AbpCultureMapApplicationBuilderExtensions
+ {
+ public static IApplicationBuilder UseMapRequestLocalization(
+ this IApplicationBuilder app,
+ Action optionsAction = null)
+ {
+ return app.UseAbpRequestLocalization(options =>
+ {
+ options.RequestCultureProviders.Insert(0, new AbpCultureMapRequestCultureProvider());
+ optionsAction?.Invoke(options);
+ });
+ }
+ }
+}
diff --git a/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/README.md b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/README.md
new file mode 100644
index 000000000..6fb751da2
--- /dev/null
+++ b/aspnet-core/modules/localization/LINGYUN.Abp.Localization.CultureMap/README.md
@@ -0,0 +1,53 @@
+# LINGYUN.Abp.Localization.CultureMap
+
+## 模块说明
+
+解决存在多种格式的区域性本地化问题
+
+See: https://github.com/maliming/Owl.Abp.CultureMap
+
+### 基础模块
+
+### 高阶模块
+
+### 权限定义
+
+### 功能定义
+
+### 配置定义
+
+### 如何使用
+
+
+```csharp
+
+ [DependsOn(
+ typeof(AbpLocalizationCultureMapModule))]
+ public class YouProjectModule : AbpModule
+ {
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ Configure(options =>
+ {
+ var zhHansCultureMapInfo = new CultureMapInfo
+ {
+ TargetCulture = "zh-Hans",
+ SourceCultures = new string[] { "zh", "zh_CN", "zh-CN" }
+ };
+
+ options.CulturesMaps.Add(zhHansCultureMapInfo);
+ options.UiCulturesMaps.Add(zhHansCultureMapInfo);
+ });
+ }
+
+ public override void OnApplicationInitialization(ApplicationInitializationContext context)
+ {
+ var app = context.GetApplicationBuilder();
+
+ app.UseMapRequestLocalization();
+ }
+ }
+
+```
+
+### 更新日志
diff --git a/aspnet-core/services/account/AuthServer.Host/AuthIdentityServerModule.Configure.cs b/aspnet-core/services/account/AuthServer.Host/AuthIdentityServerModule.Configure.cs
index a32d7b32b..6ad326f66 100644
--- a/aspnet-core/services/account/AuthServer.Host/AuthIdentityServerModule.Configure.cs
+++ b/aspnet-core/services/account/AuthServer.Host/AuthIdentityServerModule.Configure.cs
@@ -1,6 +1,7 @@
using AuthServer.IdentityResources;
using DotNetCore.CAP;
using LINGYUN.Abp.IdentityServer.IdentityResources;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.Serilog.Enrichers.Application;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.DataProtection;
@@ -159,6 +160,18 @@ namespace AuthServer.Host
.Get()
.AddVirtualJson("/Localization/Resources");
});
+
+ Configure(options =>
+ {
+ var zhHansCultureMapInfo = new CultureMapInfo
+ {
+ TargetCulture = "zh-Hans",
+ SourceCultures = new string[] { "zh", "zh_CN", "zh-CN" }
+ };
+
+ options.CulturesMaps.Add(zhHansCultureMapInfo);
+ options.UiCulturesMaps.Add(zhHansCultureMapInfo);
+ });
}
private void ConfigureAuditing()
{
diff --git a/aspnet-core/services/account/AuthServer.Host/AuthIdentityServerModule.cs b/aspnet-core/services/account/AuthServer.Host/AuthIdentityServerModule.cs
index 74aea7157..f06771acf 100644
--- a/aspnet-core/services/account/AuthServer.Host/AuthIdentityServerModule.cs
+++ b/aspnet-core/services/account/AuthServer.Host/AuthIdentityServerModule.cs
@@ -6,6 +6,7 @@ using LINGYUN.Abp.Identity.EntityFrameworkCore;
using LINGYUN.Abp.IdentityServer;
using LINGYUN.Abp.IdentityServer.EntityFrameworkCore;
using LINGYUN.Abp.IdentityServer.WeChat;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.MultiTenancy.DbFinder;
using LINGYUN.Abp.PermissionManagement.Identity;
using LINGYUN.Abp.Serilog.Enrichers.Application;
@@ -58,6 +59,7 @@ namespace AuthServer.Host
typeof(AbpAspNetCoreAuthenticationJwtBearerModule),
typeof(AbpAuditLoggingElasticsearchModule), // 放在 AbpIdentity 模块之后,避免被覆盖
typeof(AbpAspNetCoreHttpOverridesModule),
+ typeof(AbpLocalizationCultureMapModule),
typeof(AbpDbFinderMultiTenancyModule),
typeof(AbpCAPEventBusModule),
typeof(AbpAliyunSmsModule)
@@ -118,10 +120,10 @@ namespace AuthServer.Host
app.UseRouting();
app.UseCors(DefaultCorsPolicyName);
app.UseWeChatSignature();
- app.UseMultiTenancy();
app.UseAuthentication();
app.UseJwtTokenMiddleware();
- app.UseAbpRequestLocalization();
+ app.UseMultiTenancy();
+ app.UseMapRequestLocalization();
app.UseIdentityServer();
app.UseAuthorization();
app.UseAuditing();
diff --git a/aspnet-core/services/account/AuthServer.Host/AuthServer.Host.csproj b/aspnet-core/services/account/AuthServer.Host/AuthServer.Host.csproj
index 9653ce4ca..57a81a44f 100644
--- a/aspnet-core/services/account/AuthServer.Host/AuthServer.Host.csproj
+++ b/aspnet-core/services/account/AuthServer.Host/AuthServer.Host.csproj
@@ -66,6 +66,7 @@
+
diff --git a/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/BackendAdminHostModule.Configure.cs b/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/BackendAdminHostModule.Configure.cs
index f5e633a0c..281b34480 100644
--- a/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/BackendAdminHostModule.Configure.cs
+++ b/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/BackendAdminHostModule.Configure.cs
@@ -1,6 +1,7 @@
using DotNetCore.CAP;
using LINGYUN.Abp.ExceptionHandling;
using LINGYUN.Abp.ExceptionHandling.Emailing;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.Serilog.Enrichers.Application;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.DataProtection;
@@ -109,7 +110,7 @@ namespace LINGYUN.Abp.BackendAdmin
options.SendStackTrace = true;
// 未指定异常接收者的默认接收邮件
// 请指定自己的邮件地址
- // options.DefaultReceiveEmail = "colin.in@foxmail.com";
+ // options.DefaultReceiveEmail = "";
});
}
@@ -239,18 +240,20 @@ namespace LINGYUN.Abp.BackendAdmin
"vben-admin-ui",
new NameValue("zh_CN", "zh-Hans"));
- options
- .AddLanguageFilesMapOrUpdate(
- "vue-admin-element-ui",
- new NameValue("zh-Hans", "zh"),
- new NameValue("en", "en"));
- options
- .AddLanguageFilesMapOrUpdate(
- "vben-admin-ui",
- new NameValue("zh_CN", "zh-Hans"));
-
options.Resources.AddDynamic();
});
+
+ Configure(options =>
+ {
+ var zhHansCultureMapInfo = new CultureMapInfo
+ {
+ TargetCulture = "zh-Hans",
+ SourceCultures = new string[] { "zh", "zh_CN", "zh-CN" }
+ };
+
+ options.CulturesMaps.Add(zhHansCultureMapInfo);
+ options.UiCulturesMaps.Add(zhHansCultureMapInfo);
+ });
}
private void ConfigureSecurity(IServiceCollection services, IConfiguration configuration, bool isDevelopment = false)
diff --git a/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/BackendAdminHostModule.cs b/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/BackendAdminHostModule.cs
index 618b10e50..fb1a778c4 100644
--- a/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/BackendAdminHostModule.cs
+++ b/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/BackendAdminHostModule.cs
@@ -5,6 +5,7 @@ using LINGYUN.Abp.Data.DbMigrator;
using LINGYUN.Abp.EventBus.CAP;
using LINGYUN.Abp.ExceptionHandling.Emailing;
using LINGYUN.Abp.FeatureManagement;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore;
using LINGYUN.Abp.Logging.Serilog.Elasticsearch;
using LINGYUN.Abp.MultiTenancy.DbFinder;
@@ -73,6 +74,7 @@ namespace LINGYUN.Abp.BackendAdmin
typeof(AbpDbFinderMultiTenancyModule),
typeof(AbpCachingStackExchangeRedisModule),
typeof(AbpAspNetCoreHttpOverridesModule),
+ typeof(AbpLocalizationCultureMapModule),
typeof(AbpAutofacModule)
)]
public partial class BackendAdminHostModule : AbpModule
@@ -110,8 +112,6 @@ namespace LINGYUN.Abp.BackendAdmin
app.UseCorrelationId();
// 虚拟文件系统
app.UseStaticFiles();
- // 本地化
- app.UseAbpRequestLocalization();
//路由
app.UseRouting();
// 认证
@@ -120,6 +120,10 @@ namespace LINGYUN.Abp.BackendAdmin
app.UseJwtTokenMiddleware();
// 多租户
app.UseMultiTenancy();
+ // 本地化
+ app.UseMapRequestLocalization();
+ // 授权
+ app.UseAuthorization();
// Swagger
app.UseSwagger();
// Swagger可视化界面
diff --git a/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/LINGYUN.Abp.BackendAdmin.HttpApi.Host.csproj b/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/LINGYUN.Abp.BackendAdmin.HttpApi.Host.csproj
index 5197047f3..682bece82 100644
--- a/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/LINGYUN.Abp.BackendAdmin.HttpApi.Host.csproj
+++ b/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/LINGYUN.Abp.BackendAdmin.HttpApi.Host.csproj
@@ -72,6 +72,7 @@
+
diff --git a/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/Properties/launchSettings.json b/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/Properties/launchSettings.json
index 7a6916353..f04e44238 100644
--- a/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/Properties/launchSettings.json
+++ b/aspnet-core/services/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/Properties/launchSettings.json
@@ -13,7 +13,7 @@
"launchBrowser": false,
"applicationUrl": "http://0.0.0.0:30010",
"environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "ASPNETCORE_ENVIRONMENT": "Production"
}
}
}
diff --git a/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/ApiGatewayHttpApiHostModule.Configure.cs b/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/ApiGatewayHttpApiHostModule.Configure.cs
index 0da04a642..4ebceba81 100644
--- a/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/ApiGatewayHttpApiHostModule.Configure.cs
+++ b/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/ApiGatewayHttpApiHostModule.Configure.cs
@@ -1,4 +1,5 @@
using DotNetCore.CAP;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.Serilog.Enrichers.Application;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.DataProtection;
@@ -170,6 +171,18 @@ namespace LINGYUN.ApiGateway
options.Languages.Add(new LanguageInfo("en", "en", "English"));
options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文"));
});
+
+ Configure(options =>
+ {
+ var zhHansCultureMapInfo = new CultureMapInfo
+ {
+ TargetCulture = "zh-Hans",
+ SourceCultures = new string[] { "zh", "zh_CN", "zh-CN" }
+ };
+
+ options.CulturesMaps.Add(zhHansCultureMapInfo);
+ options.UiCulturesMaps.Add(zhHansCultureMapInfo);
+ });
}
private void ConfigureSecurity(IServiceCollection services, IConfiguration configuration, bool isDevelopment = false)
diff --git a/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/ApiGatewayHttpApiHostModule.cs b/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/ApiGatewayHttpApiHostModule.cs
index 1b432e782..2103a9f01 100644
--- a/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/ApiGatewayHttpApiHostModule.cs
+++ b/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/ApiGatewayHttpApiHostModule.cs
@@ -1,6 +1,7 @@
using LINGYUN.Abp.AspNetCore.HttpOverrides;
using LINGYUN.Abp.AuditLogging.Elasticsearch;
using LINGYUN.Abp.EventBus.CAP;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.MultiTenancy.DbFinder;
using LINGYUN.Abp.Serilog.Enrichers.Application;
using LINGYUN.ApiGateway.EntityFrameworkCore;
@@ -35,6 +36,7 @@ namespace LINGYUN.ApiGateway
typeof(AbpDbFinderMultiTenancyModule),
typeof(AbpCachingStackExchangeRedisModule),
typeof(AbpAspNetCoreHttpOverridesModule),
+ typeof(AbpLocalizationCultureMapModule),
typeof(AbpAutofacModule)
)]
public partial class ApiGatewayHttpApiHostModule : AbpModule
@@ -78,7 +80,7 @@ namespace LINGYUN.ApiGateway
// 多租户
// app.UseMultiTenancy();
// 本地化
- app.UseAbpRequestLocalization();
+ app.UseMapRequestLocalization();
// 认证
app.UseAuthorization();
// Swagger
diff --git a/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/LINGYUN.ApiGateway.HttpApi.Host.csproj b/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/LINGYUN.ApiGateway.HttpApi.Host.csproj
index edc01395f..dc87ead98 100644
--- a/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/LINGYUN.ApiGateway.HttpApi.Host.csproj
+++ b/aspnet-core/services/apigateway/LINGYUN.ApiGateway.HttpApi.Host/LINGYUN.ApiGateway.HttpApi.Host.csproj
@@ -46,6 +46,7 @@
+
diff --git a/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/AbpIdentityServerAdminHttpApiHostModule.Configure.cs b/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/AbpIdentityServerAdminHttpApiHostModule.Configure.cs
index 7f332cb24..275f0e929 100644
--- a/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/AbpIdentityServerAdminHttpApiHostModule.Configure.cs
+++ b/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/AbpIdentityServerAdminHttpApiHostModule.Configure.cs
@@ -1,6 +1,7 @@
using DotNetCore.CAP;
using LINGYUN.Abp.ExceptionHandling;
using LINGYUN.Abp.ExceptionHandling.Emailing;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.Serilog.Enrichers.Application;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.DataProtection;
@@ -236,6 +237,18 @@ namespace LINGYUN.Abp.IdentityServer4
options.Resources.AddDynamic(typeof(IdentityResource));
});
+
+ Configure(options =>
+ {
+ var zhHansCultureMapInfo = new CultureMapInfo
+ {
+ TargetCulture = "zh-Hans",
+ SourceCultures = new string[] { "zh", "zh_CN", "zh-CN" }
+ };
+
+ options.CulturesMaps.Add(zhHansCultureMapInfo);
+ options.UiCulturesMaps.Add(zhHansCultureMapInfo);
+ });
}
private void ConfigureSecurity(IServiceCollection services, IConfiguration configuration, bool isDevelopment = false)
diff --git a/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/AbpIdentityServerAdminHttpApiHostModule.cs b/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/AbpIdentityServerAdminHttpApiHostModule.cs
index a4b948a87..72156166d 100644
--- a/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/AbpIdentityServerAdminHttpApiHostModule.cs
+++ b/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/AbpIdentityServerAdminHttpApiHostModule.cs
@@ -2,6 +2,7 @@ using LINGYUN.Abp.AspNetCore.HttpOverrides;
using LINGYUN.Abp.AuditLogging.Elasticsearch;
using LINGYUN.Abp.EventBus.CAP;
using LINGYUN.Abp.ExceptionHandling.Emailing;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore;
using LINGYUN.Abp.MultiTenancy.DbFinder;
using LINGYUN.Abp.Serilog.Enrichers.Application;
@@ -49,6 +50,7 @@ namespace LINGYUN.Abp.IdentityServer4
typeof(AbpDbFinderMultiTenancyModule),
typeof(AbpCachingStackExchangeRedisModule),
typeof(AbpAspNetCoreHttpOverridesModule),
+ typeof(AbpLocalizationCultureMapModule),
typeof(AbpAutofacModule)
)]
public partial class AbpIdentityServerAdminHttpApiHostModule : AbpModule
@@ -87,8 +89,6 @@ namespace LINGYUN.Abp.IdentityServer4
app.UseCorrelationId();
// 虚拟文件系统
app.UseStaticFiles();
- // 本地化
- app.UseAbpRequestLocalization();
//路由
app.UseRouting();
// 认证
@@ -98,6 +98,10 @@ namespace LINGYUN.Abp.IdentityServer4
app.UseJwtTokenMiddleware();
// 多租户
app.UseMultiTenancy();
+ // 本地化
+ app.UseMapRequestLocalization();
+ // 授权
+ app.UseAuthorization();
// Swagger
app.UseSwagger();
// Swagger可视化界面
diff --git a/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/LINGYUN.Abp.IdentityServer4.HttpApi.Host.csproj b/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/LINGYUN.Abp.IdentityServer4.HttpApi.Host.csproj
index 8729739e1..bf642f950 100644
--- a/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/LINGYUN.Abp.IdentityServer4.HttpApi.Host.csproj
+++ b/aspnet-core/services/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/LINGYUN.Abp.IdentityServer4.HttpApi.Host.csproj
@@ -68,6 +68,7 @@
+
diff --git a/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/AbpLocalizationManagementHttpApiHostModule.Configure.cs b/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/AbpLocalizationManagementHttpApiHostModule.Configure.cs
index 83fb816eb..5848420e0 100644
--- a/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/AbpLocalizationManagementHttpApiHostModule.Configure.cs
+++ b/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/AbpLocalizationManagementHttpApiHostModule.Configure.cs
@@ -1,6 +1,7 @@
using DotNetCore.CAP;
using LINGYUN.Abp.ExceptionHandling;
using LINGYUN.Abp.ExceptionHandling.Emailing;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.Serilog.Enrichers.Application;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.DataProtection;
@@ -190,6 +191,18 @@ namespace LINGYUN.Abp.LocalizationManagement
options.Resources.AddDynamic();
});
+
+ Configure(options =>
+ {
+ var zhHansCultureMapInfo = new CultureMapInfo
+ {
+ TargetCulture = "zh-Hans",
+ SourceCultures = new string[] { "zh", "zh_CN", "zh-CN" }
+ };
+
+ options.CulturesMaps.Add(zhHansCultureMapInfo);
+ options.UiCulturesMaps.Add(zhHansCultureMapInfo);
+ });
}
private void ConfigureSecurity(IServiceCollection services, IConfiguration configuration, bool isDevelopment = false)
diff --git a/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/AbpLocalizationManagementHttpApiHostModule.cs b/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/AbpLocalizationManagementHttpApiHostModule.cs
index ada49950a..b38bc97a8 100644
--- a/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/AbpLocalizationManagementHttpApiHostModule.cs
+++ b/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/AbpLocalizationManagementHttpApiHostModule.cs
@@ -3,6 +3,7 @@ using LINGYUN.Abp.AuditLogging.Elasticsearch;
using LINGYUN.Abp.Data.DbMigrator;
using LINGYUN.Abp.EventBus.CAP;
using LINGYUN.Abp.ExceptionHandling.Emailing;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore;
using LINGYUN.Abp.MultiTenancy.DbFinder;
using LINGYUN.Abp.Serilog.Enrichers.Application;
@@ -42,6 +43,7 @@ namespace LINGYUN.Abp.LocalizationManagement
typeof(AbpDbFinderMultiTenancyModule),
typeof(AbpCachingStackExchangeRedisModule),
typeof(AbpAspNetCoreHttpOverridesModule),
+ typeof(AbpLocalizationCultureMapModule),
typeof(AbpAutofacModule)
)]
public partial class AbpLocalizationManagementHttpApiHostModule : AbpModule
@@ -80,14 +82,14 @@ namespace LINGYUN.Abp.LocalizationManagement
app.UseCorrelationId();
// 虚拟文件系统
app.UseStaticFiles();
- // 本地化
- app.UseAbpRequestLocalization();
//路由
app.UseRouting();
// 认证
app.UseAuthentication();
// jwt
app.UseJwtTokenMiddleware();
+ // 本地化
+ app.UseMapRequestLocalization();
// 授权
app.UseAuthorization();
// Swagger
diff --git a/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/LINGYUN.Abp.LocalizationManagement.HttpApi.Host.csproj b/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/LINGYUN.Abp.LocalizationManagement.HttpApi.Host.csproj
index 6bdff94f9..062871c0f 100644
--- a/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/LINGYUN.Abp.LocalizationManagement.HttpApi.Host.csproj
+++ b/aspnet-core/services/localization/LINGYUN.Abp.LocalizationManagement.HttpApi.Host/LINGYUN.Abp.LocalizationManagement.HttpApi.Host.csproj
@@ -41,6 +41,7 @@
+
diff --git a/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/AbpMessageServiceHttpApiHostModule.Configure.cs b/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/AbpMessageServiceHttpApiHostModule.Configure.cs
index 0a925d5ab..3378cd036 100644
--- a/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/AbpMessageServiceHttpApiHostModule.Configure.cs
+++ b/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/AbpMessageServiceHttpApiHostModule.Configure.cs
@@ -1,5 +1,6 @@
using DotNetCore.CAP;
using LINGYUN.Abp.ExceptionHandling;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.MessageService.Localization;
using LINGYUN.Abp.Serilog.Enrichers.Application;
using Microsoft.AspNetCore.Authentication.JwtBearer;
@@ -231,6 +232,18 @@ namespace LINGYUN.Abp.MessageService
options.Resources.AddDynamic();
});
+
+ Configure(options =>
+ {
+ var zhHansCultureMapInfo = new CultureMapInfo
+ {
+ TargetCulture = "zh-Hans",
+ SourceCultures = new string[] { "zh", "zh_CN", "zh-CN" }
+ };
+
+ options.CulturesMaps.Add(zhHansCultureMapInfo);
+ options.UiCulturesMaps.Add(zhHansCultureMapInfo);
+ });
}
private void ConfigureSecurity(IServiceCollection services, IConfiguration configuration, bool isDevelopment = false)
diff --git a/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/AbpMessageServiceHttpApiHostModule.cs b/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/AbpMessageServiceHttpApiHostModule.cs
index bde17b2e9..15ab5db2d 100644
--- a/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/AbpMessageServiceHttpApiHostModule.cs
+++ b/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/AbpMessageServiceHttpApiHostModule.cs
@@ -9,6 +9,7 @@ using LINGYUN.Abp.ExceptionHandling.Notifications;
using LINGYUN.Abp.Hangfire.Storage.MySql;
using LINGYUN.Abp.Identity.WeChat;
using LINGYUN.Abp.IM.SignalR;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore;
using LINGYUN.Abp.MessageService.EntityFrameworkCore;
using LINGYUN.Abp.MultiTenancy.DbFinder;
@@ -64,6 +65,7 @@ namespace LINGYUN.Abp.MessageService
typeof(AbpDbFinderMultiTenancyModule),
typeof(AbpCachingStackExchangeRedisModule),
typeof(AbpAspNetCoreHttpOverridesModule),
+ typeof(AbpLocalizationCultureMapModule),
typeof(AbpAutofacModule)
)]
public partial class AbpMessageServiceHttpApiHostModule : AbpModule
@@ -103,8 +105,6 @@ namespace LINGYUN.Abp.MessageService
app.UseCorrelationId();
// 虚拟文件系统
app.UseStaticFiles();
- // 本地化
- app.UseAbpRequestLocalization();
//路由
app.UseRouting();
// 跨域
@@ -115,9 +115,12 @@ namespace LINGYUN.Abp.MessageService
app.UseAbpClaimsMap();
// jwt
app.UseJwtTokenMiddleware();
- app.UseAuthorization();
// 多租户
app.UseMultiTenancy();
+ // 本地化
+ app.UseMapRequestLocalization();
+ // 授权
+ app.UseAuthorization();
// Swagger
app.UseSwagger();
// Swagger可视化界面
diff --git a/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/LINGYUN.Abp.MessageService.HttpApi.Host.csproj b/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/LINGYUN.Abp.MessageService.HttpApi.Host.csproj
index 45c9c8c0f..063ca50d9 100644
--- a/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/LINGYUN.Abp.MessageService.HttpApi.Host.csproj
+++ b/aspnet-core/services/messages/LINGYUN.Abp.MessageService.HttpApi.Host/LINGYUN.Abp.MessageService.HttpApi.Host.csproj
@@ -59,6 +59,7 @@
+
diff --git a/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/AppPlatformHttpApiHostModule.Configure.cs b/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/AppPlatformHttpApiHostModule.Configure.cs
index 9a8cd675c..6a9f660ab 100644
--- a/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/AppPlatformHttpApiHostModule.Configure.cs
+++ b/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/AppPlatformHttpApiHostModule.Configure.cs
@@ -1,6 +1,7 @@
using DotNetCore.CAP;
using LINGYUN.Abp.ExceptionHandling;
using LINGYUN.Abp.ExceptionHandling.Emailing;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.Serilog.Enrichers.Application;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.DataProtection;
@@ -235,6 +236,18 @@ namespace LINGYUN.Platform
options.Resources.AddDynamic();
});
+
+ Configure(options =>
+ {
+ var zhHansCultureMapInfo = new CultureMapInfo
+ {
+ TargetCulture = "zh-Hans",
+ SourceCultures = new string[] { "zh", "zh_CN", "zh-CN" }
+ };
+
+ options.CulturesMaps.Add(zhHansCultureMapInfo);
+ options.UiCulturesMaps.Add(zhHansCultureMapInfo);
+ });
}
private void ConfigureSecurity(IServiceCollection services, IConfiguration configuration, bool isDevelopment = false)
diff --git a/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/AppPlatformHttpApiHostModule.cs b/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/AppPlatformHttpApiHostModule.cs
index 8f4028887..d279c0322 100644
--- a/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/AppPlatformHttpApiHostModule.cs
+++ b/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/AppPlatformHttpApiHostModule.cs
@@ -4,6 +4,7 @@ using LINGYUN.Abp.Data.DbMigrator;
using LINGYUN.Abp.EventBus.CAP;
using LINGYUN.Abp.ExceptionHandling.Emailing;
using LINGYUN.Abp.Features.LimitValidation.Redis;
+using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore;
using LINGYUN.Abp.MultiTenancy.DbFinder;
using LINGYUN.Abp.Notifications;
@@ -69,6 +70,7 @@ namespace LINGYUN.Platform
typeof(AbpDbFinderMultiTenancyModule),
typeof(AbpCachingStackExchangeRedisModule),
typeof(AbpAspNetCoreHttpOverridesModule),
+ typeof(AbpLocalizationCultureMapModule),
typeof(AbpAutofacModule)
)]
public partial class AppPlatformHttpApiHostModule : AbpModule
@@ -108,16 +110,16 @@ namespace LINGYUN.Platform
app.UseCorrelationId();
// 虚拟文件系统
app.UseStaticFiles();
- // 本地化
- app.UseAbpRequestLocalization();
- // 多租户
- app.UseMultiTenancy();
//路由
app.UseRouting();
// 认证
app.UseAuthentication();
// jwt
app.UseJwtTokenMiddleware();
+ // 多租户
+ app.UseMultiTenancy();
+ // 本地化
+ app.UseMapRequestLocalization();
// 授权
app.UseAuthorization();
// Swagger
@@ -129,9 +131,8 @@ namespace LINGYUN.Platform
});
// 审计日志
app.UseAuditing();
+ // 记录请求信息
app.UseAbpSerilogEnrichers();
- // 工作单元
- app.UseUnitOfWork();
// 路由
app.UseConfiguredEndpoints();
diff --git a/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/LINGYUN.Platform.HttpApi.Host.csproj b/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/LINGYUN.Platform.HttpApi.Host.csproj
index bfe9b2290..e62547c52 100644
--- a/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/LINGYUN.Platform.HttpApi.Host.csproj
+++ b/aspnet-core/services/platform/LINGYUN.Platform.HttpApi.Host/LINGYUN.Platform.HttpApi.Host.csproj
@@ -62,6 +62,7 @@
+