From 23c93e3b35b185c8c5574589e8ced180178c01ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E5=86=9B?= <510423039@qq.com>
Date: Mon, 21 Nov 2022 16:23:27 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=82=AE=E4=BB=B6?=
=?UTF-8?q?=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...asicManagementSettingDefinitionProvider.cs | 5 +-
.../Localization/AbpPro/en.json | 1 +
.../Localization/AbpPro/zh-Hans.json | 1 +
.../Lion.AbpPro.Domain/AbpProDomainModule.cs | 3 +-
.../src/Lion.AbpPro.Domain/GlobalUsings.cs | 1 +
.../Lion.AbpPro.Domain.csproj | 4 ++
.../AbpProSettingDefinitionProvider.cs | 56 ++++++++++++++++---
.../Settings/AbpProSettings.cs | 20 +++++++
8 files changed, 81 insertions(+), 10 deletions(-)
diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain/Settings/BasicManagementSettingDefinitionProvider.cs b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain/Settings/BasicManagementSettingDefinitionProvider.cs
index 01b87a48..a93badc3 100644
--- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain/Settings/BasicManagementSettingDefinitionProvider.cs
+++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain/Settings/BasicManagementSettingDefinitionProvider.cs
@@ -10,13 +10,13 @@ public class BasicManagementSettingDefinitionProvider : SettingDefinitionProvide
{
//Define your own settings here. Example:
//context.Add(new SettingDefinition(BasicManagementSettings.MySetting1));
- OverrideDefalutSettings(context);
+ OverrideDefaultSettings(context);
}
///
/// 重写默认setting添加自定义属性
///
- private static void OverrideDefalutSettings(ISettingDefinitionContext context)
+ private static void OverrideDefaultSettings(ISettingDefinitionContext context)
{
context.GetOrNull("Abp.Identity.Password.RequiredLength")
.WithProperty(BasicManagementSettings.Group.Default,
@@ -54,6 +54,7 @@ public class BasicManagementSettingDefinitionProvider : SettingDefinitionProvide
.WithProperty(BasicManagementSettings.ControlType.Default,
BasicManagementSettings.ControlType.TypeCheckBox);
}
+
private static LocalizableString L(string name)
{
diff --git a/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/en.json b/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/en.json
index 85d4ef19..8caf2e30 100644
--- a/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/en.json
+++ b/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/en.json
@@ -20,6 +20,7 @@
"Permission:OrganizationUnitManagement": "OrganizationUnitManagement",
"Setting.Group.System": "System",
"Setting.Group.Other": "Other",
+ "Setting.Group.Email": "Email",
"DisplayName:Setting.Group.Other.Github": "Github",
"Description:Setting.Group.Other.Github": "Github",
"Enum:TestType:Created:1":"Created",
diff --git a/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/zh-Hans.json b/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/zh-Hans.json
index 1b4d444d..cd743ae3 100644
--- a/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/zh-Hans.json
+++ b/aspnet-core/services/src/Lion.AbpPro.Domain.Shared/Localization/AbpPro/zh-Hans.json
@@ -21,6 +21,7 @@
"Setting.Group.System": "系统",
"Setting.Group.Other": "其它",
+ "Setting.Group.Email": "邮件",
"DisplayName:Setting.Group.Other.Github": "Github",
"Description:Setting.Group.Other.Github": "Github",
"Enum:TestType:Created:1":"创建",
diff --git a/aspnet-core/services/src/Lion.AbpPro.Domain/AbpProDomainModule.cs b/aspnet-core/services/src/Lion.AbpPro.Domain/AbpProDomainModule.cs
index fbfbd2b5..4a5dcb3a 100644
--- a/aspnet-core/services/src/Lion.AbpPro.Domain/AbpProDomainModule.cs
+++ b/aspnet-core/services/src/Lion.AbpPro.Domain/AbpProDomainModule.cs
@@ -4,7 +4,8 @@ namespace Lion.AbpPro
typeof(AbpProDomainSharedModule),
typeof(BasicManagementDomainModule),
typeof(DataDictionaryManagementDomainModule),
- typeof(NotificationManagementDomainModule)
+ typeof(NotificationManagementDomainModule),
+ typeof(AbpEmailingModule)
)]
public class AbpProDomainModule : AbpModule
{
diff --git a/aspnet-core/services/src/Lion.AbpPro.Domain/GlobalUsings.cs b/aspnet-core/services/src/Lion.AbpPro.Domain/GlobalUsings.cs
index 64b0bef0..e660d8cb 100644
--- a/aspnet-core/services/src/Lion.AbpPro.Domain/GlobalUsings.cs
+++ b/aspnet-core/services/src/Lion.AbpPro.Domain/GlobalUsings.cs
@@ -19,6 +19,7 @@ global using Volo.Abp.AutoMapper;
global using Volo.Abp.Data;
global using Volo.Abp.DependencyInjection;
global using Volo.Abp.Domain.Services;
+global using Volo.Abp.Emailing;
global using Volo.Abp.EventBus.Distributed;
global using Volo.Abp.Identity;
global using Volo.Abp.Localization;
diff --git a/aspnet-core/services/src/Lion.AbpPro.Domain/Lion.AbpPro.Domain.csproj b/aspnet-core/services/src/Lion.AbpPro.Domain/Lion.AbpPro.Domain.csproj
index 94190fc7..6917c113 100644
--- a/aspnet-core/services/src/Lion.AbpPro.Domain/Lion.AbpPro.Domain.csproj
+++ b/aspnet-core/services/src/Lion.AbpPro.Domain/Lion.AbpPro.Domain.csproj
@@ -14,5 +14,9 @@
+
+
+
+
diff --git a/aspnet-core/services/src/Lion.AbpPro.Domain/Settings/AbpProSettingDefinitionProvider.cs b/aspnet-core/services/src/Lion.AbpPro.Domain/Settings/AbpProSettingDefinitionProvider.cs
index cf2e833b..f2b5815e 100644
--- a/aspnet-core/services/src/Lion.AbpPro.Domain/Settings/AbpProSettingDefinitionProvider.cs
+++ b/aspnet-core/services/src/Lion.AbpPro.Domain/Settings/AbpProSettingDefinitionProvider.cs
@@ -4,17 +4,59 @@ namespace Lion.AbpPro.Settings
{
public override void Define(ISettingDefinitionContext context)
{
- //Define your own settings here. Example:
- //context.Add(new SettingDefinition(AbpProSettings.MySetting1));
- OverrideDefalutSettings(context);
+ ConfigEmail(context);
}
- ///
- /// 重写默认setting添加自定义属性
- ///
- private static void OverrideDefalutSettings(ISettingDefinitionContext context)
+ private static void ConfigEmail(ISettingDefinitionContext context)
{
+ context.GetOrNull(EmailSettingNames.Smtp.Host)
+ .WithProperty(AbpProSettings.Group.Default,
+ AbpProSettings.Group.EmailManagement)
+ .WithProperty(AbpProSettings.ControlType.Default,
+ AbpProSettings.ControlType.TypeText);
+
+ context.GetOrNull(EmailSettingNames.Smtp.Port)
+ .WithProperty(AbpProSettings.Group.Default,
+ AbpProSettings.Group.EmailManagement)
+ .WithProperty(AbpProSettings.ControlType.Default,
+ AbpProSettings.ControlType.Number);
+
+ context.GetOrNull(EmailSettingNames.Smtp.UserName)
+ .WithProperty(AbpProSettings.Group.Default,
+ AbpProSettings.Group.EmailManagement)
+ .WithProperty(AbpProSettings.ControlType.Default,
+ AbpProSettings.ControlType.TypeText);
+
+ context.GetOrNull(EmailSettingNames.Smtp.Password)
+ .WithProperty(AbpProSettings.Group.Default,
+ AbpProSettings.Group.EmailManagement)
+ .WithProperty(AbpProSettings.ControlType.Default,
+ AbpProSettings.ControlType.TypeText);
+
+
+ context.GetOrNull(EmailSettingNames.Smtp.EnableSsl)
+ .WithProperty(AbpProSettings.Group.Default,
+ AbpProSettings.Group.EmailManagement)
+ .WithProperty(AbpProSettings.ControlType.Default,
+ AbpProSettings.ControlType.TypeCheckBox);
+
+ context.GetOrNull(EmailSettingNames.Smtp.UseDefaultCredentials)
+ .WithProperty(AbpProSettings.Group.Default,
+ AbpProSettings.Group.EmailManagement)
+ .WithProperty(AbpProSettings.ControlType.Default,
+ AbpProSettings.ControlType.TypeCheckBox);
+
+ context.GetOrNull(EmailSettingNames.DefaultFromAddress)
+ .WithProperty(AbpProSettings.Group.Default,
+ AbpProSettings.Group.EmailManagement)
+ .WithProperty(AbpProSettings.ControlType.Default,
+ AbpProSettings.ControlType.TypeText);
+ context.GetOrNull(EmailSettingNames.DefaultFromDisplayName)
+ .WithProperty(AbpProSettings.Group.Default,
+ AbpProSettings.Group.EmailManagement)
+ .WithProperty(AbpProSettings.ControlType.Default,
+ AbpProSettings.ControlType.TypeText);
}
private static LocalizableString L(string name)
diff --git a/aspnet-core/services/src/Lion.AbpPro.Domain/Settings/AbpProSettings.cs b/aspnet-core/services/src/Lion.AbpPro.Domain/Settings/AbpProSettings.cs
index 0080895f..b319b512 100644
--- a/aspnet-core/services/src/Lion.AbpPro.Domain/Settings/AbpProSettings.cs
+++ b/aspnet-core/services/src/Lion.AbpPro.Domain/Settings/AbpProSettings.cs
@@ -2,6 +2,26 @@ namespace Lion.AbpPro.Settings
{
public static class AbpProSettings
{
+ public const string Prefix = "setting_";
+
+ ///
+ /// 前端控件类型
+ ///
+ public static class ControlType
+ {
+ public const string Default = "Type";
+ public const string TypeText = "Text";
+ public const string TypeCheckBox = "CheckBox";
+ public const string Number = "Number";
+ }
+ ///
+ /// 系统控制分组
+ ///
+ public static class Group
+ {
+ public const string Default = "Setting.Group";
+ public const string EmailManagement = Default + ".Email";
+ }
}
}
\ No newline at end of file