using NetTaste; using System.Text.Encodings.Web; using System.Text.Json; using System.Text.Unicode; namespace OASystem.API.Middlewares { /// /// api所有入口固定提示 /// public class FixedPromptMiddleware { private readonly RequestDelegate _next; public FixedPromptMiddleware(RequestDelegate next) { _next = next; } public async Task InvokeAsync(HttpContext context) { // 检查是否为 API 请求 if (context.Request.Path.StartsWithSegments("/api")) { // 设置响应内容类型 context.Response.ContentType = "text/plain"; //固定提示格式 var response = new JsonView() { Code = 400, Msg = "紧急通知:因明年接入AI接口,需服务器框架升级及数据库数据备份,OA系统pc端及手机端将暂停使用,我们尽量在48小时内升级完成并恢复使用。" }; // 写入固定的提示信息 await context.Response.WriteAsync(System.Text.Json.JsonSerializer.Serialize(response,new JsonSerializerOptions { Encoder = JavaScriptEncoder.Create(UnicodeRanges.All) })); // 不再调用后续中间件 return; } // 调用后续中间件 await _next(context); } } }