Picture.Cut.Service/Dolphin.ExamPictureCut.Core/DolphinExamPictureCutCoreMo...

73 lines
2.3 KiB
C#

using Dolphin.ExamPictureCut.Localization;
using Dolphin.ExamPictureCut.Options;
using Mapster;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using NoFurion.Extensions;
using Volo.Abp.Application;
using Volo.Abp.BlobStoring;
using Volo.Abp.BlobStoring.Aliyun;
using Volo.Abp.EventBus.RabbitMq;
using Volo.Abp.Localization;
using Volo.Abp.Localization.ExceptionHandling;
using Volo.Abp.Modularity;
using Volo.Abp.Validation.Localization;
using Volo.Abp.VirtualFileSystem;
namespace Dolphin.ExamPictureCut;
[DependsOn(
typeof(AbpLocalizationModule),
typeof(AbpDddApplicationContractsModule),
typeof(AbpBlobStoringAliyunModule),
typeof(AbpEventBusRabbitMqModule)
)]
public class DolphinExamPictureCutCoreModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var Configuration = context.Services.GetConfiguration();
var aliyunOption = Configuration.GetSection("Aliyun").Get<AliyunOption>();
Configure<AliyunOption>(options => aliyunOption.Adapt(options));
Configure<AbpBlobStoringOptions>(options =>
{
options.Containers.ConfigureDefault(container =>
{
container.UseAliyun(aliyun =>
{
aliyun.AccessKeyId = aliyunOption.AccessKeyId;
aliyun.AccessKeySecret = aliyunOption.AccessKeySecret;
aliyun.Endpoint = aliyunOption.Endpoint;
aliyun.RegionId = aliyunOption.RegionId;
aliyun.ContainerName = aliyunOption.ContainerName;
});
});
});
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<DolphinExamPictureCutCoreModule>();
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<DolphinResource>("en")
.AddBaseTypes(typeof(AbpValidationResource))
.AddVirtualJson("/Localization/Dolphin");
options.DefaultResourceType = typeof(DolphinResource);
});
Configure<AbpExceptionLocalizationOptions>(options =>
{
options.MapCodeNamespace("Dolphin", typeof(DolphinResource));
});
EnumExt.RegisterEnumClass(GetType().Assembly);
}
}