From 802251e42347bfe4fa0bcb4867b615d7c03abf19 Mon Sep 17 00:00:00 2001 From: nsnail Date: Tue, 27 Feb 2024 09:58:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20tinymce=20editor=20css=20?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E8=B7=AF=E5=BE=84=E9=94=99=E8=AF=AF=20(#94)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IApplicationBuilderExtensions.cs | 55 +++++++++++-------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/src/backend/NetAdmin.BizServer.Host/Extensions/IApplicationBuilderExtensions.cs b/src/backend/NetAdmin.BizServer.Host/Extensions/IApplicationBuilderExtensions.cs index 7c9ea52d..2c168e9b 100644 --- a/src/backend/NetAdmin.BizServer.Host/Extensions/IApplicationBuilderExtensions.cs +++ b/src/backend/NetAdmin.BizServer.Host/Extensions/IApplicationBuilderExtensions.cs @@ -35,32 +35,41 @@ public static class IApplicationBuilderExtensions return Assembly.GetExecutingAssembly().GetManifestResourceStream(_RES_PFX + path); } - private static async Task UseVueAdminAsync(HttpContext context, Func next) + private static string GetResName(string path) { - if (!context.Request.Path.StartsWithSegments(new PathString("/api"))) { - var path = context.Request.Path.Value?.Replace("-", "_"); - if (path == "/" || path?.Length == 0) { - path = _INDEX_HTML_PATH; - } + return _allResNames.FirstOrDefault(x => path.EndsWith(x, StringComparison.OrdinalIgnoreCase)); + } - path = path!.Replace('/', '.'); - - var output = GetManifestResourceStream(path); - if (output == null) { - var resName = _allResNames.FirstOrDefault(x => path.EndsWith(x, StringComparison.OrdinalIgnoreCase)); - output = resName == null - ? GetManifestResourceStream(_INDEX_HTML_PATH) - : GetManifestResourceStream(resName); - } - - if (output != null) { - context.Response.ContentLength = output.Length; - context.Response.ContentType = MimeTypeHelper.GetMimeTypeByExtName(_regex.Match(path!).Groups[1].Value); - await output.CopyToAsync(context.Response.Body).ConfigureAwait(false); - return; - } + private static Task UseVueAdminAsync(HttpContext context, Func next) + { + if (context.Request.Path.StartsWithSegments(new PathString("/api"))) { + return next.Invoke(); } - await next.Invoke().ConfigureAwait(false); + var path = context.Request.Path.Value; + if (path == "/" || path?.Length == 0) { + path = _INDEX_HTML_PATH; + } + + path = path!.Replace('/', '.'); + + var output = GetManifestResourceStream(path); + if (output == null) { + var resName = GetResName(path); + if (resName == null) { + path = path.Replace("-", "_"); + resName = GetResName(path); + } + + output = resName == null ? GetManifestResourceStream(_INDEX_HTML_PATH) : GetManifestResourceStream(resName); + } + + if (output == null) { + return next.Invoke(); + } + + context.Response.ContentLength = output.Length; + context.Response.ContentType = MimeTypeHelper.GetMimeTypeByExtName(_regex.Match(path!).Groups[1].Value); + return output.CopyToAsync(context.Response.Body); } } \ No newline at end of file