From 1024471c64beef683b257b38d4904ab7cd509c82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Mon, 4 Apr 2022 12:02:32 +0800 Subject: [PATCH 01/16] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96LogAttribute?= =?UTF-8?q?=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/CommonController.cs | 5 +-- .../Middleware/GlobalExceptionMiddleware.cs | 41 ++++++++++++++++--- 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/CommonController.cs b/ZR.Admin.WebApi/Controllers/CommonController.cs index c9e44a6..04ded2d 100644 --- a/ZR.Admin.WebApi/Controllers/CommonController.cs +++ b/ZR.Admin.WebApi/Controllers/CommonController.cs @@ -1,16 +1,13 @@ using Infrastructure; using Infrastructure.Attribute; using Infrastructure.Enums; -using Infrastructure.Extensions; using Infrastructure.Model; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; using Newtonsoft.Json; -using Snowflake.Core; using System; -using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; @@ -171,7 +168,7 @@ namespace ZR.Admin.WebApi.Controllers } SysFile file = new(formFile.FileName, fileName, fileExt, fileSize + "kb", fileDir, HttpContext.GetName()) { - StoreType = (int)Infrastructure.Enums.StoreType.ALIYUN, + StoreType = (int)StoreType.ALIYUN, FileType = formFile.ContentType }; file = await SysFileService.SaveFileToAliyun(file, formFile); diff --git a/ZR.Admin.WebApi/Middleware/GlobalExceptionMiddleware.cs b/ZR.Admin.WebApi/Middleware/GlobalExceptionMiddleware.cs index e02c999..edd7fe9 100644 --- a/ZR.Admin.WebApi/Middleware/GlobalExceptionMiddleware.cs +++ b/ZR.Admin.WebApi/Middleware/GlobalExceptionMiddleware.cs @@ -1,13 +1,15 @@ using Infrastructure; +using Infrastructure.Attribute; using Infrastructure.Model; using IPTools.Core; using Microsoft.AspNetCore.Http; -using Newtonsoft.Json; +using Microsoft.AspNetCore.Http.Features; using NLog; using System; +using System.Text.Encodings.Web; +using System.Text.Json; using System.Threading.Tasks; using ZR.Admin.WebApi.Extensions; -using ZR.Admin.WebApi.Filters; using ZR.Model.System; using ZR.Service.System.IService; @@ -67,8 +69,15 @@ namespace ZR.Admin.WebApi.Middleware logLevel = LogLevel.Error; context.Response.StatusCode = 500; } + var options = new JsonSerializerOptions + { + Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, + PropertyNamingPolicy = JsonNamingPolicy.CamelCase, + WriteIndented = true + }; - string responseResult = System.Text.Json.JsonSerializer.Serialize(new ApiResult(code, msg)).ToLower(); + ApiResult apiResult = new(code, msg); + string responseResult = JsonSerializer.Serialize(apiResult, options).ToLower(); string ip = HttpContextExtension.GetClientUserIp(context); var ip_info = IpTool.Search(ip); @@ -84,6 +93,18 @@ namespace ZR.Admin.WebApi.Middleware operLocation = ip_info.Province + " " + ip_info.City, operTime = DateTime.Now }; + var endpoint = GetEndpoint(context); + if (endpoint != null) + { + var logAttribute = endpoint.Metadata.GetMetadata(); + if (logAttribute != null) + { + sysOperLog.businessType = (int)logAttribute?.BusinessType; + sysOperLog.title = logAttribute?.Title; + sysOperLog.operParam = logAttribute.IsSaveRequestData ? sysOperLog.operParam : ""; + sysOperLog.jsonResult = logAttribute.IsSaveResponseData ? sysOperLog.jsonResult : ""; + } + } HttpContextExtension.GetRequestValue(context, sysOperLog); LogEventInfo ei = new(logLevel, "GlobalExceptionMiddleware", error); @@ -92,12 +113,22 @@ namespace ZR.Admin.WebApi.Middleware ei.Properties["status"] = 1;//走正常返回都是通过走GlobalExceptionFilter不通过 ei.Properties["jsonResult"] = responseResult; ei.Properties["requestParam"] = sysOperLog.operParam; - ei.Properties["user"] = context.User.Identity.Name; + ei.Properties["user"] = HttpContextExtension.GetName(context); Logger.Log(ei); - await context.Response.WriteAsync(responseResult); + await context.Response.WriteAsync(responseResult, System.Text.Encoding.UTF8); SysOperLogService.InsertOperlog(sysOperLog); } + + public static Endpoint GetEndpoint(HttpContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + return context.Features.Get()?.Endpoint; + } } } From 6b0e6b11b3fdbb5ab53606cf4d0910ae30886365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Mon, 4 Apr 2022 12:09:39 +0800 Subject: [PATCH 02/16] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Vue/src/views/index_v1.vue | 72 +++++++++++++++++------------------ 1 file changed, 34 insertions(+), 38 deletions(-) diff --git a/ZR.Vue/src/views/index_v1.vue b/ZR.Vue/src/views/index_v1.vue index 3f3a7ae..5a646e0 100644 --- a/ZR.Vue/src/views/index_v1.vue +++ b/ZR.Vue/src/views/index_v1.vue @@ -15,24 +15,23 @@
- {{userInfo.welcomeMessage}},{{ userInfo.nickName }},{{ userInfo.welcomeContent }} - + {{ userInfo.welcomeMessage }},{{ userInfo.nickName }},{{ userInfo.welcomeContent }}
昵称:
-
{{userInfo.nickName}}
+
{{ userInfo.nickName }}
身份:
- {{item.roleName}} + {{ item.roleName }}
IP:
-
{{userInfo.loginIP}}
+
{{ userInfo.loginIP }}
时间:
@@ -41,9 +40,7 @@
- - 修改信息 - + 修改信息 @@ -94,56 +91,55 @@
-