From a798f365299bc3d237f565a92822155791403c88 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com>
Date: Sat, 26 Oct 2024 15:15:09 +0800
Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E8=A1=A5=E5=85=85=E7=A7=9F?=
=?UTF-8?q?=E6=88=B7=E5=BC=95=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Yi.Abp.Net8/Yi.Abp.sln | 7 +++++++
.../TenantConst.cs | 13 -------------
....Framework.TenantManagement.Domain.Shared.csproj | 13 -------------
...YiFrameworkTenantManagementDomainSharedModule.cs | 11 -----------
4 files changed, 7 insertions(+), 37 deletions(-)
delete mode 100644 Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/TenantConst.cs
delete mode 100644 Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/Yi.Framework.TenantManagement.Domain.Shared.csproj
delete mode 100644 Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/YiFrameworkTenantManagementDomainSharedModule.cs
diff --git a/Yi.Abp.Net8/Yi.Abp.sln b/Yi.Abp.Net8/Yi.Abp.sln
index f22d7108..addc9a0a 100644
--- a/Yi.Abp.Net8/Yi.Abp.sln
+++ b/Yi.Abp.Net8/Yi.Abp.sln
@@ -170,6 +170,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Abp.Tool.HttpApi.Client"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.SettingManagement.Application", "module\setting-management\Yi.Framework.SettingManagement.Application\Yi.Framework.SettingManagement.Application.csproj", "{2A31D7CB-BDCC-4253-BA73-273B6B5E1956}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.TenantManagement.Domain.Shared", "module\tenant-management\Yi.Framework.TenantManagement.Domain.Shared\Yi.Framework.TenantManagement.Domain.Shared.csproj", "{0078E120-53F5-43F4-A96E-52FA16B8B246}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -428,6 +430,10 @@ Global
{2A31D7CB-BDCC-4253-BA73-273B6B5E1956}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2A31D7CB-BDCC-4253-BA73-273B6B5E1956}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2A31D7CB-BDCC-4253-BA73-273B6B5E1956}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0078E120-53F5-43F4-A96E-52FA16B8B246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0078E120-53F5-43F4-A96E-52FA16B8B246}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0078E120-53F5-43F4-A96E-52FA16B8B246}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0078E120-53F5-43F4-A96E-52FA16B8B246}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -503,6 +509,7 @@ Global
{4AE84CDE-2A47-4D68-8E93-86193F72E4E8} = {084CBEEC-5D37-4716-B9C7-D80D6960DFF4}
{C8F97775-D903-4365-A4FF-3DA97E318CD2} = {084CBEEC-5D37-4716-B9C7-D80D6960DFF4}
{2A31D7CB-BDCC-4253-BA73-273B6B5E1956} = {8C68059E-F3B1-4D28-A1C9-A5830F53E5D3}
+ {0078E120-53F5-43F4-A96E-52FA16B8B246} = {499A8C71-7892-42D0-A77E-48756E1EFF16}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {23D6FBC9-C970-4641-BC1E-2AEA59F51C18}
diff --git a/Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/TenantConst.cs b/Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/TenantConst.cs
deleted file mode 100644
index dfd192b7..00000000
--- a/Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/TenantConst.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Yi.Framework.TenantManagement.Domain.Shared
-{
- public class TenantConst
- {
- public static string TenantDbDefaultName = "Master";
- }
-}
diff --git a/Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/Yi.Framework.TenantManagement.Domain.Shared.csproj b/Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/Yi.Framework.TenantManagement.Domain.Shared.csproj
deleted file mode 100644
index 5ce88f6d..00000000
--- a/Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/Yi.Framework.TenantManagement.Domain.Shared.csproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
diff --git a/Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/YiFrameworkTenantManagementDomainSharedModule.cs b/Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/YiFrameworkTenantManagementDomainSharedModule.cs
deleted file mode 100644
index d0784856..00000000
--- a/Yi.Abp.Net8/module/tenant-management/YiFrameworkTenantManagementDomain.Shared/YiFrameworkTenantManagementDomainSharedModule.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using Volo.Abp.Modularity;
-using Volo.Abp.TenantManagement;
-
-namespace YiFrameworkTenantManagementDomain.Shared
-{
- [DependsOn(typeof(AbpTenantManagementDomainSharedModule))]
- public class YiFrameworkTenantManagementDomainSharedModule : AbpModule
- {
-
- }
-}
From 7598c8319ffc6ad4b39b0c0af71970cc160b0485 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com>
Date: Sat, 26 Oct 2024 15:17:19 +0800
Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=E5=8E=BB=E9=99=A4=E5=A4=9A?=
=?UTF-8?q?=E4=BD=99=E5=BC=95=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Yi.Abp.Net8/Yi.Abp.sln | 7 -------
1 file changed, 7 deletions(-)
diff --git a/Yi.Abp.Net8/Yi.Abp.sln b/Yi.Abp.Net8/Yi.Abp.sln
index addc9a0a..f22d7108 100644
--- a/Yi.Abp.Net8/Yi.Abp.sln
+++ b/Yi.Abp.Net8/Yi.Abp.sln
@@ -170,8 +170,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Abp.Tool.HttpApi.Client"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.SettingManagement.Application", "module\setting-management\Yi.Framework.SettingManagement.Application\Yi.Framework.SettingManagement.Application.csproj", "{2A31D7CB-BDCC-4253-BA73-273B6B5E1956}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.TenantManagement.Domain.Shared", "module\tenant-management\Yi.Framework.TenantManagement.Domain.Shared\Yi.Framework.TenantManagement.Domain.Shared.csproj", "{0078E120-53F5-43F4-A96E-52FA16B8B246}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -430,10 +428,6 @@ Global
{2A31D7CB-BDCC-4253-BA73-273B6B5E1956}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2A31D7CB-BDCC-4253-BA73-273B6B5E1956}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2A31D7CB-BDCC-4253-BA73-273B6B5E1956}.Release|Any CPU.Build.0 = Release|Any CPU
- {0078E120-53F5-43F4-A96E-52FA16B8B246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0078E120-53F5-43F4-A96E-52FA16B8B246}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0078E120-53F5-43F4-A96E-52FA16B8B246}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0078E120-53F5-43F4-A96E-52FA16B8B246}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -509,7 +503,6 @@ Global
{4AE84CDE-2A47-4D68-8E93-86193F72E4E8} = {084CBEEC-5D37-4716-B9C7-D80D6960DFF4}
{C8F97775-D903-4365-A4FF-3DA97E318CD2} = {084CBEEC-5D37-4716-B9C7-D80D6960DFF4}
{2A31D7CB-BDCC-4253-BA73-273B6B5E1956} = {8C68059E-F3B1-4D28-A1C9-A5830F53E5D3}
- {0078E120-53F5-43F4-A96E-52FA16B8B246} = {499A8C71-7892-42D0-A77E-48756E1EFF16}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {23D6FBC9-C970-4641-BC1E-2AEA59F51C18}
From f6cbe899c69b1b2a34135c0bb3b5441ab175f475 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com>
Date: Sat, 26 Oct 2024 15:40:45 +0800
Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DNewtonsoftJson?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Json/DatetimeJsonConverter.cs | 27 +++++++++++++++++++
.../Json/EnumStringJsonConverter.cs | 18 +++++++++++++
Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs | 21 ++++++++++-----
3 files changed, 60 insertions(+), 6 deletions(-)
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Core/Json/DatetimeJsonConverter.cs
create mode 100644 Yi.Abp.Net8/framework/Yi.Framework.Core/Json/EnumStringJsonConverter.cs
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Core/Json/DatetimeJsonConverter.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Json/DatetimeJsonConverter.cs
new file mode 100644
index 00000000..e4732065
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Json/DatetimeJsonConverter.cs
@@ -0,0 +1,27 @@
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace Yi.Framework.Core.Json;
+
+public class DatetimeJsonConverter : JsonConverter
+{
+ private string _format;
+ public DatetimeJsonConverter(string format="yyyy-MM-dd HH:mm:ss")
+ {
+ _format = format;
+ }
+
+ public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ if(reader.TokenType==JsonTokenType.String)
+ {
+ if (DateTime.TryParse(reader.GetString(), out DateTime dateTime)) return dateTime;
+ }
+ return reader.GetDateTime();
+ }
+
+ public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
+ {
+ writer.WriteStringValue(value.ToString(_format));
+ }
+}
\ No newline at end of file
diff --git a/Yi.Abp.Net8/framework/Yi.Framework.Core/Json/EnumStringJsonConverter.cs b/Yi.Abp.Net8/framework/Yi.Framework.Core/Json/EnumStringJsonConverter.cs
new file mode 100644
index 00000000..9e42a57b
--- /dev/null
+++ b/Yi.Abp.Net8/framework/Yi.Framework.Core/Json/EnumStringJsonConverter.cs
@@ -0,0 +1,18 @@
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace Yi.Framework.Core.Json;
+
+public class EnumStringJsonConverter : JsonConverter
+{
+ public override Enum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ var enumString = reader.GetString();
+ return (Enum)Enum.Parse(typeToConvert, enumString);
+ }
+
+ public override void Write(Utf8JsonWriter writer, Enum value, JsonSerializerOptions options)
+ {
+ writer.WriteStringValue(value.ToString());
+ }
+}
\ No newline at end of file
diff --git a/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs b/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs
index 2b1a2ebf..5cafc749 100644
--- a/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs
+++ b/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs
@@ -33,6 +33,7 @@ using Yi.Framework.Bbs.Application;
using Yi.Framework.Bbs.Application.Extensions;
using Yi.Framework.ChatHub.Application;
using Yi.Framework.CodeGen.Application;
+using Yi.Framework.Core.Json;
using Yi.Framework.Rbac.Application;
using Yi.Framework.Rbac.Domain.Authorization;
using Yi.Framework.Rbac.Domain.Shared.Consts;
@@ -99,12 +100,20 @@ namespace Yi.Abp.Web
options.ConventionalControllers.ConventionalControllerSettings.ForEach(x => x.RootPath = "api/app");
});
- //设置api格式
- service.AddControllers().AddNewtonsoftJson(options =>
- {
- options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
- options.SerializerSettings.Converters.Add(new StringEnumConverter());
- });
+ //【NewtonsoftJson严重问题!!!!!逆天】设置api格式,留给后人铭记
+ // service.AddControllers().AddNewtonsoftJson(options =>
+ // {
+ // options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
+ // options.SerializerSettings.Converters.Add(new StringEnumConverter());
+ // });
+
+ //请使用微软的
+ service.AddControllers().AddJsonOptions(options =>
+ {
+ options.JsonSerializerOptions.Converters.Add(new DatetimeJsonConverter());
+ options.JsonSerializerOptions.Converters.Add(new EnumStringJsonConverter());
+ }
+ );
//设置缓存不要过期,默认滑动20分钟
Configure(cacheOptions =>