using MiaoYu.Core.Cos; namespace MiaoYu.Api.Admin; /// /// 程序启动器 /// [ImportStartupModule< CoreQuartzStartup, CoreRazorStartup, CoreRedisStartup, CoreIdentityStartup, AdminRepositoryStartup, ChatAdminRepositoryStartup, CoreSwaggerJwtStartup, SharedAdminStartup, CoreCosStartup>] public class ApiAdminStartup : AppStartupBase { /// /// /// /// 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(); options.Filters.Add(); }) .AddDynamicApiController(options => options.IsLower = false) .AddControllersAsServices() ; // 代码生成器需要开启 razor page 引擎 webApplicationBuilder.Services.AddRazorPages(); // razor 解决中文被编码 webApplicationBuilder.Services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All)); //SignalR services.AddSignalR(); #region 取消默认验证Api 接收参数模型 的 验证特性 如有 [ApiController] services.Configure(options => { options.SuppressModelStateInvalidFilter = true; }); #endregion // 注册源生成器的 代码 //webApplicationBuilder.Services.AddDependencyInjectionGenerator(); } /// /// /// /// 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(); } /// /// 程序启动 /// /// public override void ApplicationStarted(WebApplication webApplication) { // 启动定时任务 if (webApplication.Configuration.GetSection("IsRunQuartzTask").Get()) { webApplication.UseQuartzStartup(); } } }