Jelajahi Sumber

1、优化日志表字段长度 2、增加操作日志开关

zuohuaijun 3 tahun lalu
induk
melakukan
11a0269471

+ 1 - 1
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -28,7 +28,7 @@
     <PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.1.4" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="2.13.0" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="2.7.0" />
-    <PackageReference Include="SqlSugarCore" Version="5.0.7.8-preview01" />
+    <PackageReference Include="SqlSugarCore" Version="5.0.7.8-preview02" />
     <PackageReference Include="System.Linq.Dynamic.Core" Version="1.2.18" />
     <PackageReference Include="UAParser" Version="3.1.47" />
     <PackageReference Include="Yitter.IdGenerator" Version="1.0.12" />

+ 5 - 18
Admin.NET/Admin.NET.Core/Admin.NET.Core.xml

@@ -196,6 +196,11 @@
             验证码开关配置
             </summary>
         </member>
+        <member name="F:Admin.NET.Core.CommonConst.SysOpLogFlag">
+            <summary>
+            开启操作日志配置
+            </summary>
+        </member>
         <member name="F:Admin.NET.Core.CommonConst.EntityAssemblyName">
             <summary>
             实体所在程序集-代码生成
@@ -3610,18 +3615,6 @@
             <param name="code"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysConfigService.GetDemoEnvFlag">
-            <summary>
-            获取演示环境开关配置
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Core.Service.SysConfigService.GetCaptchaOpenFlag">
-            <summary>
-            获取验证码开关配置
-            </summary>
-            <returns></returns>
-        </member>
         <member name="T:Admin.NET.Core.Service.DataBaseManager">
             <summary>
             数据库管理服务
@@ -5828,12 +5821,6 @@
             </summary>
             <param name="dbOptions"></param>
         </member>
-        <member name="M:Admin.NET.Core.SqlSugarSetup.IsDemoEnv">
-            <summary>
-            判断是否演示环境
-            </summary>
-            <returns></returns>
-        </member>
         <member name="T:Admin.NET.Core.AdminResultProvider">
             <summary>
             全局规范化结果

+ 5 - 0
Admin.NET/Admin.NET.Core/Const/CommonConst.cs

@@ -26,6 +26,11 @@
         public const string SysCaptchaFlag = "SysCaptchaFlag";
 
         /// <summary>
+        /// 开启操作日志配置
+        /// </summary>
+        public const string SysOpLogFlag = "SysOpLog";
+
+        /// <summary>
         /// 实体所在程序集-代码生成
         /// </summary>
         public static string[] EntityAssemblyName = new string[] { "Admin.NET.Core", "Admin.NET.Application" };

+ 5 - 5
Admin.NET/Admin.NET.Core/Entity/SysLogEx.cs

@@ -27,31 +27,31 @@ namespace Admin.NET.Core
         /// <summary>
         /// 异常名称
         /// </summary>
-        [SugarColumn(ColumnDescription = "异常名称")]
+        [SugarColumn(ColumnDescription = "异常名称", ColumnDataType = "text")]
         public string ExceptionName { get; set; }
 
         /// <summary>
         /// 异常信息
         /// </summary>
-        [SugarColumn(ColumnDescription = "异常信息")]
+        [SugarColumn(ColumnDescription = "异常信息", ColumnDataType = "text")]
         public string ExceptionMsg { get; set; }
 
         /// <summary>
         /// 异常源
         /// </summary>
-        [SugarColumn(ColumnDescription = "异常源")]
+        [SugarColumn(ColumnDescription = "异常源", ColumnDataType = "text")]
         public string ExceptionSource { get; set; }
 
         /// <summary>
         /// 堆栈信息
         /// </summary>
-        [SugarColumn(ColumnDescription = "堆栈信息")]
+        [SugarColumn(ColumnDescription = "堆栈信息", ColumnDataType = "text")]
         public string StackTrace { get; set; }
 
         /// <summary>
         /// 参数对象
         /// </summary>
-        [SugarColumn(ColumnDescription = "参数对象")]
+        [SugarColumn(ColumnDescription = "参数对象", ColumnDataType = "text")]
         public string ParamsObj { get; set; }
 
         /// <summary>

+ 3 - 3
Admin.NET/Admin.NET.Core/Entity/SysLogOp.cs

@@ -19,7 +19,7 @@ namespace Admin.NET.Core
         /// <summary>
         /// 具体消息
         /// </summary>
-        [SugarColumn(ColumnDescription = "具体消息")]
+        [SugarColumn(ColumnDescription = "具体消息", ColumnDataType = "text")]
         public string Message { get; set; }
 
         /// <summary>
@@ -81,13 +81,13 @@ namespace Admin.NET.Core
         /// <summary>
         /// 请求参数
         /// </summary>
-        [SugarColumn(ColumnDescription = "请求参数")]
+        [SugarColumn(ColumnDescription = "请求参数", ColumnDataType = "text")]
         public string Param { get; set; }
 
         /// <summary>
         /// 返回结果
         /// </summary>
-        [SugarColumn(ColumnDescription = "返回结果")]
+        [SugarColumn(ColumnDescription = "返回结果", ColumnDataType = "text")]
         public string Result { get; set; }
 
         /// <summary>

+ 1 - 1
Admin.NET/Admin.NET.Core/Entity/SysLogVis.cs

@@ -19,7 +19,7 @@ namespace Admin.NET.Core
         /// <summary>
         /// 具体消息
         /// </summary>
-        [SugarColumn(ColumnDescription = "具体消息")]
+        [SugarColumn(ColumnDescription = "具体消息", ColumnDataType = "text")]
         public string Message { get; set; }
 
         /// <summary>

+ 9 - 3
Admin.NET/Admin.NET.Core/Filter/RequestActionFilter.cs

@@ -1,4 +1,6 @@
-using Furion.EventBus;
+using Admin.NET.Core.Service;
+using Furion;
+using Furion.EventBus;
 using Furion.JsonSerialization;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
@@ -25,6 +27,10 @@ namespace Admin.NET.Core
 
         public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
         {
+            // 是否开启操作日志
+            var value = await App.GetService<SysConfigService>().GetConfigCache(CommonConst.SysOpLogFlag);
+            if (!bool.Parse(value)) return;
+
             var httpContext = context.HttpContext;
             var httpRequest = httpContext.Request;
 
@@ -44,7 +50,7 @@ namespace Admin.NET.Core
                 {
                     Success = isRequestSucceed ? YesNoEnum.Y : YesNoEnum.N,
                     Ip = ip,
-                    Location = "", // httpRequest.GetRequestUrlAddress(),
+                    Location = httpRequest.GetRequestUrlAddress(),
                     Browser = clientInfo?.UA.Family + clientInfo?.UA.Major,
                     Os = clientInfo?.OS.Family + clientInfo?.OS.Major,
                     Url = httpRequest.Path,
@@ -53,7 +59,7 @@ namespace Admin.NET.Core
                     ReqMethod = httpRequest.Method,
                     Param = context.ActionArguments.Count < 1 ? string.Empty : JSON.Serialize(context.ActionArguments),
                     Result = actionContext.Result?.GetType() == typeof(JsonResult) ? JSON.Serialize(actionContext.Result) : string.Empty,
-                    ElapsedTime = sw.ElapsedMilliseconds,
+                    ElapsedTime = sw.ElapsedMilliseconds,                    
                     UserName = httpContext.User?.FindFirstValue(ClaimConst.UserName),
                     RealName = httpContext.User?.FindFirstValue(ClaimConst.RealName)
                 }));

+ 2 - 1
Admin.NET/Admin.NET.Core/SeedData/SysConfigSeedData.cs

@@ -18,7 +18,8 @@ namespace Admin.NET.Core
             {
                 new SysConfig{ Id=252885263003800, Name="演示环境", Code="SysDemoEnv", Value="False", SysFlag=YesNoEnum.Y, Remark="演示环境", Order=1, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
                 new SysConfig{ Id=252885263003801, Name="默认密码", Code="SysPassword", Value="123456", SysFlag=YesNoEnum.Y, Remark="默认密码", Order=2, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
-                new SysConfig{ Id=252885263003802, Name="Token过期时间", Code="SysTokenExpire", Value="10080", SysFlag=YesNoEnum.Y, Remark="Token过期时间", Order=3, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") }
+                new SysConfig{ Id=252885263003802, Name="Token过期时间", Code="SysTokenExpire", Value="10080", SysFlag=YesNoEnum.Y, Remark="Token过期时间", Order=3, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+                new SysConfig{ Id=252885263003803, Name="操作日志", Code="SysOpLog", Value="True", SysFlag=YesNoEnum.Y, Remark="开启操作日志", Order=4, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") }
             };
         }
     }

+ 1 - 34
Admin.NET/Admin.NET.Core/Service/Config/SysConfigService.cs

@@ -115,7 +115,7 @@ namespace Admin.NET.Core.Service
         /// </summary>
         /// <param name="code"></param>
         /// <returns></returns>
-        private async Task<string> GetConfigCache(string code)
+        public async Task<string> GetConfigCache(string code)
         {
             var value = await _sysCacheService.GetStringAsync(code);
             if (string.IsNullOrEmpty(value))
@@ -126,38 +126,5 @@ namespace Admin.NET.Core.Service
             }
             return value;
         }
-
-        ///// <summary>
-        ///// 更新参数配置缓存
-        ///// </summary>
-        ///// <param name="code"></param>
-        ///// <param name="value"></param>
-        ///// <returns></returns>
-        //private async Task UpdateConfigCache(string code, string value)
-        //{
-        //    await _sysCacheService.SetStringAsync(code, value);
-        //}
-
-        /// <summary>
-        /// 获取演示环境开关配置
-        /// </summary>
-        /// <returns></returns>
-        [NonAction]
-        public async Task<bool> GetDemoEnvFlag()
-        {
-            var value = await GetConfigCache(CommonConst.SysDemoEnv);
-            return bool.Parse(value);
-        }
-
-        /// <summary>
-        /// 获取验证码开关配置
-        /// </summary>
-        /// <returns></returns>
-        [NonAction]
-        public async Task<bool> GetCaptchaOpenFlag()
-        {
-            var value = await GetConfigCache(CommonConst.SysCaptchaFlag);
-            return bool.Parse(value);
-        }
     }
 }

+ 0 - 10
Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs

@@ -1,6 +1,5 @@
 using Admin.NET.Core.Service;
 using Furion;
-using Furion.FriendlyException;
 using Microsoft.Extensions.Configuration;
 using Microsoft.Extensions.DependencyInjection;
 using SqlSugar;
@@ -314,14 +313,5 @@ namespace Admin.NET.Core
             var file = Path.GetFileName(dbConnection.Replace("DataSource=", ""));
             return $"DataSource={Environment.CurrentDirectory.Replace(@"\bin\Debug", "")}\\{file}";
         }
-
-        /// <summary>
-        /// 判断是否演示环境
-        /// </summary>
-        /// <returns></returns>
-        private static bool IsDemoEnv()
-        {
-            return App.GetService<SysConfigService>().GetDemoEnvFlag().GetAwaiter().GetResult() ? throw Oops.Oh(ErrorCodeEnum.D1200) : false;
-        }
     }
 }