GET /api/public/home

GET /api/public/notices/{id}
SQLite / MySQL 双数据库只读连接
.env 与现有数据库配置兼容
公告 HTML 安全清洗
学校、班级、考试、科目、报名及系统通知聚合
This commit is contained in:
2026-07-22 18:59:53 +08:00 Unverified
parent 241fa8a6d7
commit 38e42ad734
23 changed files with 1144 additions and 13 deletions
+11
View File
@@ -1,8 +1,15 @@
using System.Net;
using Eis.Application.Public;
using Eis.Infrastructure;
using Eis.Infrastructure.Data;
using Eis.Infrastructure.Migration;
using Eis.Web.Configuration;
using Eis.Web.Frontend;
using Eis.Web.Legacy;
using Eis.Web.Public;
var applicationRoot = ApplicationPaths.FindApplicationRoot();
EnvironmentFile.Load(applicationRoot);
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.ConfigureKestrel(options => options.AddServerHeader = false);
@@ -20,6 +27,8 @@ builder.Services.AddHttpClient<LegacyApiProxy>((services, client) =>
UseCookies = false
});
builder.Services.AddProblemDetails();
builder.Services.AddSingleton<IPublicSiteConfiguration, PublicSiteConfiguration>();
builder.Services.AddEisInfrastructure(DatabaseOptions.FromEnvironment(applicationRoot, builder.Environment.IsProduction()));
var app = builder.Build();
@@ -51,6 +60,8 @@ app.MapGet("/health/migration", async (LegacyApiProxy proxy, CancellationToken c
}, statusCode: statusCode);
});
app.MapNativePublicEndpoints();
string[] methods =
[
HttpMethods.Get,