85 lines
3.3 KiB
C#
85 lines
3.3 KiB
C#
using SJZY.Expand.ABP.Core.Localization;
|
||
using SJZY.InterfaceRelay.Application.Contracts;
|
||
using SJZY.Track.Application.Contract;
|
||
using SJZY.Track.Application.Localization;
|
||
using SJZY.UserCenter.Contracts;
|
||
using SJZY.UserCenter.SharedModel;
|
||
using SJZY.UserCenter.SharedModel.Pub;
|
||
using Volo.Abp.AspNetCore.Mvc;
|
||
using Volo.Abp.AutoMapper;
|
||
using Volo.Abp.FluentValidation;
|
||
using Volo.Abp.Http.Client;
|
||
using Volo.Abp.Localization;
|
||
using Volo.Abp.Modularity;
|
||
using Volo.Abp.VirtualFileSystem;
|
||
|
||
namespace SJZY.Track.Application
|
||
{
|
||
[DependsOn(
|
||
typeof(AbpAutoMapperModule),
|
||
typeof(AbpFluentValidationModule),
|
||
typeof(AbpLocalizationModule),
|
||
typeof(AbpVirtualFileSystemModule),
|
||
typeof(AbpHttpClientModule),
|
||
typeof(SjzyUserCenterHttpApiModule),
|
||
typeof(SJZYInterfaceRelayApplicationContractsModule),
|
||
typeof(SjzyTrackDomainModule),
|
||
typeof(SjzyTrackApplicationContractModule)
|
||
)]
|
||
public class SjzyTrackApplicationModule : AbpModule
|
||
{
|
||
public override void ConfigureServices(ServiceConfigurationContext context)
|
||
{
|
||
var configuration = context.Services.GetConfiguration();
|
||
Configure<AbpAutoMapperOptions>(options => { options.AddMaps<SjzyTrackApplicationModule>(true); });
|
||
|
||
Configure<AbpAspNetCoreMvcOptions>(options =>
|
||
{
|
||
options.ConventionalControllers.Create(typeof(SjzyTrackApplicationModule).Assembly); //创建动态api
|
||
});
|
||
|
||
//添加虚拟文件系统
|
||
Configure<AbpVirtualFileSystemOptions>(options =>
|
||
{
|
||
options.FileSets.AddEmbedded<SjzyTrackApplicationModule>("SJZY.Track.Application");
|
||
});
|
||
|
||
//添加多语言
|
||
Configure<AbpLocalizationOptions>(options =>
|
||
{
|
||
options.Resources
|
||
.Add<TrackLocalizationResource>("zh")
|
||
.AddBaseTypes(typeof(SjzyBasicLocalization))
|
||
.AddVirtualJson("/Localization/Resources");
|
||
});
|
||
//授权拦截提示
|
||
context.Services.Configure<MvcOptions>(options =>
|
||
{
|
||
options.Filters.Add(new ApiAsyncAuthorizationFilter());
|
||
});
|
||
|
||
//用户中心
|
||
context.Services.AddHttpClientProxies(typeof(SjzyUserCenterHttpApiModule).Assembly, "UserCenter", false);
|
||
context.Services.AddHttpClient("InterfaceForward").AddHttpMessageHandler<InterfaceForwardHeaderHandler>();
|
||
context.Services.AddHttpClientProxy<IInterfaceForwardService>(
|
||
remoteServiceConfigurationName: "InterfaceForward",
|
||
asDefaultService: false
|
||
);
|
||
}
|
||
|
||
public override void PreConfigureServices(ServiceConfigurationContext context)
|
||
{
|
||
var configuration = context.Services.GetConfiguration();
|
||
PreConfigure<AbpHttpClientBuilderOptions>(options =>
|
||
{
|
||
options.ProxyClientActions.Add(async (remoteName, serviceProvider, httpClient) =>
|
||
{
|
||
//如果设置Token,前端需要传入Token 否则引发异常
|
||
httpClient.SetTokenHeader();
|
||
httpClient.Timeout = TimeSpan.FromMinutes(3);
|
||
await Task.CompletedTask;
|
||
});
|
||
});
|
||
}
|
||
}
|
||
} |