67 lines
1.7 KiB
C#
67 lines
1.7 KiB
C#
using Learn.Archives.Core.Common;
|
|
using Microsoft.OpenApi.Models;
|
|
using System.Text.Encodings.Web;
|
|
using System.Text.Unicode;
|
|
using Learn.Archives.Core.Common.Expand;
|
|
using Mapster;
|
|
using System.Text.Json;
|
|
using Learn.Archives.API.Expand;
|
|
using System.ComponentModel;
|
|
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
// Add services to the container.
|
|
builder.Services.AddLogging(loggingBuilder =>
|
|
{
|
|
loggingBuilder.ClearProviders(); // 清除默认的日志提供程序
|
|
loggingBuilder.AddConsole(); // 添加控制台日志提供程序
|
|
loggingBuilder.SetMinimumLevel(LogLevel.Warning); // 设置最小日志级别为 Warning
|
|
});
|
|
|
|
builder.Services.AddControllers(options =>
|
|
{
|
|
// 全局模型赋值默认值 和 统一返回格式处理
|
|
options.Filters.Add<HttpLogAttribute>();
|
|
})
|
|
.AddJsonOptions(options =>
|
|
{
|
|
|
|
options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);//中文转换时不使用Unicode
|
|
options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;// 默认小驼峰 null 大驼峰
|
|
});
|
|
builder.Services.AddEndpointsApiExplorer();
|
|
builder.Services.AddSwaggerExpand("学校档案系统");
|
|
builder.Configuration.AddAppConfig(args);
|
|
builder.Services.AddPermissionAuthentication();
|
|
builder.Services.AddSqlSugarExpand();
|
|
builder.Services.AddRedisExpand();
|
|
builder.Services.AddCorsExpand();
|
|
builder.Services.AddMapster();
|
|
builder.Services.AddLiveUserInfoExpand();
|
|
builder.Services.AddHttpClient();
|
|
builder.Services.AddHttpContextAccessor();
|
|
|
|
|
|
|
|
var app = builder.Build();
|
|
|
|
AppCommon.Services = app.Services;
|
|
|
|
app.UseMiddleware<BasicAuthMiddleware>("Swagger");
|
|
|
|
|
|
app.UseSwagger();
|
|
app.UseSwaggerUI();
|
|
|
|
app.UseRouting();
|
|
|
|
//自定义 应用
|
|
app.UseCorsExpand();
|
|
app.UseAuthorization();
|
|
|
|
app.UseSqlSugarExpand();
|
|
|
|
|
|
app.MapControllers();
|
|
|
|
app.Run();
|