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