87 lines
2.5 KiB
C#
87 lines
2.5 KiB
C#
|
|
|
|
|
|
|
|
namespace CloudGaming.Api.Admin;
|
|
|
|
/// <summary>
|
|
/// 程序启动器
|
|
/// </summary>
|
|
[ImportStartupModule<
|
|
DataBaseModelStartup,
|
|
CoreQuartzStartup,
|
|
CoreRazorStartup,
|
|
CoreRedisStartup,
|
|
CoreIdentityStartup,
|
|
AdminRepositoryStartup,
|
|
//UserRepositoryStartup,
|
|
GameRepositoryStartup,
|
|
CoreSwaggerJwtStartup,
|
|
SharedAdminStartup>]
|
|
public class ApiAdminStartup : AppStartupBase<ApiAdminStartup>
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="webApplicationBuilder"></param>
|
|
public override void ConfigureServices(WebApplicationBuilder webApplicationBuilder)
|
|
{
|
|
base.ConfigureServices(webApplicationBuilder);
|
|
|
|
var services = webApplicationBuilder.Services;
|
|
var configuration = webApplicationBuilder.Configuration;
|
|
var appConfiguration = new AppConfiguration(configuration);
|
|
|
|
services.AddControllers(options =>
|
|
{
|
|
options.Filters.Add<ApiAuthorizationFilter>();
|
|
options.Filters.Add<ApiPermissionFilter>();
|
|
})
|
|
.AddDynamicApiController(options => options.IsLower = false)
|
|
;
|
|
|
|
//SignalR
|
|
services.AddSignalR();
|
|
services.AddHttpClient();
|
|
#region 取消默认验证Api 接收参数模型 的 验证特性 如有 [ApiController]
|
|
|
|
services.Configure<ApiBehaviorOptions>(options => { options.SuppressModelStateInvalidFilter = true; });
|
|
|
|
#endregion
|
|
|
|
services.Configure<FileOptions>(configuration.GetSection(nameof(FileOptions)));
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="webApplication"></param>
|
|
public override void Configure(WebApplication webApplication)
|
|
{
|
|
base.Configure(webApplication);
|
|
|
|
//// 跳转客户端
|
|
//webApplication.MapGet("/", [AllowAnonymous] () => Results.Redirect("/client/index.html"));
|
|
|
|
webApplication.MapGet("/", [AllowAnonymous] () => "请求成功");
|
|
|
|
// 跳转离线文档
|
|
webApplication.MapGet("/docs", [AllowAnonymous] () => Results.Redirect("/docs/index.html"));
|
|
|
|
//SignalR
|
|
webApplication.UseSignalRHubs();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 程序启动
|
|
/// </summary>
|
|
/// <param name="webApplication"></param>
|
|
public override void ApplicationStarted(WebApplication webApplication)
|
|
{
|
|
// 启动定时任务
|
|
if (webApplication.Configuration.GetSection("IsRunQuartzTask").Get<bool>())
|
|
{
|
|
webApplication.UseQuartzStartup();
|
|
}
|
|
}
|
|
} |