diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_LoginLog.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_LoginLog.cs index 660678e6..f63735cc 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_LoginLog.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_LoginLog.cs @@ -38,7 +38,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel [Column] [CsvIgnore] [JsonIgnore] - public virtual int Duration { get; init; } + public virtual int Duration { get; protected init; } /// /// 程序响应码 @@ -46,7 +46,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel [Column] [CsvIgnore] [JsonIgnore] - public virtual ErrorCodes ErrorCode { get; init; } + public virtual ErrorCodes ErrorCode { get; protected init; } /// /// HTTP状态码 @@ -62,7 +62,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel [Column(Position = -1, DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)] [CsvIgnore] [JsonIgnore] - public virtual string LoginUserName { get; init; } + public virtual string LoginUserName { get; protected init; } /// /// 拥有者 @@ -94,7 +94,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel #endif [CsvIgnore] [JsonIgnore] - public virtual string RequestBody { get; init; } + public virtual string RequestBody { get; protected init; } /// /// 请求头信息 @@ -106,7 +106,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel #endif [CsvIgnore] [JsonIgnore] - public virtual string RequestHeaders { get; init; } + public virtual string RequestHeaders { get; protected init; } /// /// 请求地址 @@ -114,7 +114,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)] [CsvIgnore] [JsonIgnore] - public virtual string RequestUrl { get; init; } + public virtual string RequestUrl { get; protected init; } /// /// 响应内容 @@ -126,7 +126,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel #endif [CsvIgnore] [JsonIgnore] - public virtual string ResponseBody { get; init; } + public virtual string ResponseBody { get; protected init; } /// /// 响应头 @@ -138,7 +138,7 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel #endif [CsvIgnore] [JsonIgnore] - public virtual string ResponseHeaders { get; init; } + public virtual string ResponseHeaders { get; protected init; } /// /// 服务器IP @@ -146,5 +146,5 @@ public record Sys_LoginLog : SimpleEntity, IFieldCreatedTime, IFieldOwner, IFiel [Column] [CsvIgnore] [JsonIgnore] - public virtual int? ServerIp { get; init; } + public virtual int? ServerIp { get; protected init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Dependency/DynamicFilterInfo.cs b/src/backend/NetAdmin.Domain/Dto/Dependency/DynamicFilterInfo.cs index 79012507..58cf973f 100644 --- a/src/backend/NetAdmin.Domain/Dto/Dependency/DynamicFilterInfo.cs +++ b/src/backend/NetAdmin.Domain/Dto/Dependency/DynamicFilterInfo.cs @@ -42,6 +42,30 @@ public sealed record DynamicFilterInfo : DataAbstraction return ret; } + private static void ParseDateExp(FreeSql.Internal.Model.DynamicFilterInfo d) + { + var values = ((JsonElement)d.Value).Deserialize(); + if (!DateTime.TryParse(values[0], CultureInfo.InvariantCulture, out _)) { + var result = values[0] + .ExecuteCSharpCodeAsync([typeof(DateTime).Assembly], nameof(System)) + .ConfigureAwait(false) + .GetAwaiter() + .GetResult(); + values[0] = $"{result:yyyy-MM-dd HH:mm:ss}"; + } + + if (!DateTime.TryParse(values[1], CultureInfo.InvariantCulture, out _)) { + var result = values[1] + .ExecuteCSharpCodeAsync([typeof(DateTime).Assembly], nameof(System)) + .ConfigureAwait(false) + .GetAwaiter() + .GetResult(); + values[1] = $"{result:yyyy-MM-dd HH:mm:ss}"; + } + + d.Value = values; + } + private static void ProcessDynamicFilter(FreeSql.Internal.Model.DynamicFilterInfo d) { if (d?.Filters != null) { @@ -58,26 +82,7 @@ public sealed record DynamicFilterInfo : DataAbstraction } } else if (d?.Operator == DynamicFilterOperator.DateRange) { - var values = ((JsonElement)d.Value).Deserialize(); - if (!DateTime.TryParse(values[0], CultureInfo.InvariantCulture, out _)) { - var result = values[0] - .ExecuteCSharpCodeAsync([typeof(DateTime).Assembly], nameof(System)) - .ConfigureAwait(false) - .GetAwaiter() - .GetResult(); - values[0] = $"{result:yyyy-MM-dd HH:mm:ss}"; - } - - if (!DateTime.TryParse(values[1], CultureInfo.InvariantCulture, out _)) { - var result = values[1] - .ExecuteCSharpCodeAsync([typeof(DateTime).Assembly], nameof(System)) - .ConfigureAwait(false) - .GetAwaiter() - .GetResult(); - values[1] = $"{result:yyyy-MM-dd HH:mm:ss}"; - } - - d.Value = values; + ParseDateExp(d); } } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/LoginLog/ExportLoginLogRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/LoginLog/ExportLoginLogRsp.cs index ef5e00cb..639ec1a5 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/LoginLog/ExportLoginLogRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/LoginLog/ExportLoginLogRsp.cs @@ -47,7 +47,7 @@ public sealed record ExportLoginLogRsp : QueryLoginLogRsp [CsvIgnore(false)] [CsvIndex(2)] [CsvName(nameof(Ln.登录名))] - public override string LoginUserName { get; init; } + public override string LoginUserName { get; protected init; } /// [CsvIgnore] diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/LoginLog/QueryLoginLogRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/LoginLog/QueryLoginLogRsp.cs index 34cd517c..d1431490 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/LoginLog/QueryLoginLogRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/LoginLog/QueryLoginLogRsp.cs @@ -29,11 +29,11 @@ public record QueryLoginLogRsp : Sys_LoginLog /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - public override int Duration { get; init; } + public override int Duration { get; protected init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - public override ErrorCodes ErrorCode { get; init; } + public override ErrorCodes ErrorCode { get; protected init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] @@ -45,7 +45,7 @@ public record QueryLoginLogRsp : Sys_LoginLog /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] - public override string LoginUserName { get; init; } + public override string LoginUserName { get; protected init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] @@ -53,25 +53,25 @@ public record QueryLoginLogRsp : Sys_LoginLog /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] - public override string RequestBody { get; init; } + public override string RequestBody { get; protected init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] - public override string RequestHeaders { get; init; } + public override string RequestHeaders { get; protected init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] - public override string RequestUrl { get; init; } + public override string RequestUrl { get; protected init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] - public override string ResponseBody { get; init; } + public override string ResponseBody { get; protected init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] - public override string ResponseHeaders { get; init; } + public override string ResponseHeaders { get; protected init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] - public override int? ServerIp { get; init; } + public override int? ServerIp { get; protected init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs index cd5f547b..413a45f4 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs @@ -18,15 +18,14 @@ public sealed class ToolsService : ServiceBase, IToolsService /// public Task> GetModulesAsync() { - return Task.FromResult>(AppDomain.CurrentDomain.GetAssemblies() - .Select(x => { - var asm = x.GetName(); - return new GetModulesRsp { - Name = asm.Name - , Version = asm.Version?.ToString() - }; - }) - .OrderBy(x => x.Name)); + return Task.FromResult>( // + AppDomain.CurrentDomain.GetAssemblies() + .Where(a => a.FullName?.Contains('#') != true && a.FullName?.Contains("DynamicMethods") != true) + .Select(x => { + var asm = x.GetName(); + return new GetModulesRsp { Name = asm.Name, Version = asm.Version?.ToString() }; + }) + .OrderBy(x => x.Name)); } /// diff --git a/src/frontend/admin/src/components/naInfo/index.vue b/src/frontend/admin/src/components/naInfo/index.vue index 9c3d0bd9..857be754 100644 --- a/src/frontend/admin/src/components/naInfo/index.vue +++ b/src/frontend/admin/src/components/naInfo/index.vue @@ -1,11 +1,32 @@ @@ -18,16 +39,27 @@ export default { }, data() { return { - title: '', + title: null, visible: false, - data: {}, + esData: null, + data: null, } }, methods: { - open(data, title) { - this.title = title - this.data = data + async open(title, query, queryEs) { + this.data = null + this.title = null + this.esData = null this.visible = true + const res = await query() + this.title = title(res.data) + this.data = this.$TOOL.sortProperties(res.data) + if (queryEs) { + this.esData = {} + this.$API.adm_tools.queryEsLog.post(queryEs).then((res) => { + this.esData = res.data + }) + } return this }, }, diff --git a/src/frontend/admin/src/global.js b/src/frontend/admin/src/global.js index 55b846b3..3a9f330f 100644 --- a/src/frontend/admin/src/global.js +++ b/src/frontend/admin/src/global.js @@ -57,7 +57,6 @@ import naColUser from '@/components/naColUser/index.vue' import naDept from '@/components/naDept/index.vue' import naDicCatalog from '@/components/naDicCatalog/index.vue' import naFormEmail from '@/components/naFormEmail/index.vue' -import naIp from '@/components/naIp/index.vue' import naSearch from '@/components/naSearch' import naUserSelect from '@/components/naUserSelect/index.vue' @@ -97,7 +96,6 @@ export default { app.component('naDept', naDept) app.component('naDicCatalog', naDicCatalog) app.component('naFormEmail', naFormEmail) - app.component('naIp', naIp) app.component('naSearch', naSearch) app.component('naUserSelect', naUserSelect) diff --git a/src/frontend/admin/src/views/sys/cache/index.vue b/src/frontend/admin/src/views/sys/cache/index.vue index 31698ef0..3424f572 100644 --- a/src/frontend/admin/src/views/sys/cache/index.vue +++ b/src/frontend/admin/src/views/sys/cache/index.vue @@ -121,12 +121,12 @@ export default { this.getData() }, async rowClick(row) { - this.loading = true - const res = await this.$API.sys_cache.getEntry.post({ key: row.key }) this.dialog.info = true await this.$nextTick() - this.$refs.info.open(this.$TOOL.sortProperties(res.data), this.$t('缓存详情')) - this.loading = false + this.$refs.info.open( + () => this.$t('缓存详情'), + () => this.$API.sys_cache.getEntry.post({ key: row.key }), + ) }, async getData() { this.loading = true diff --git a/src/frontend/admin/src/views/sys/log/login/index.vue b/src/frontend/admin/src/views/sys/log/login/index.vue index cf3e3121..39fc0328 100644 --- a/src/frontend/admin/src/views/sys/log/login/index.vue +++ b/src/frontend/admin/src/views/sys/log/login/index.vue @@ -48,6 +48,7 @@ :params="query" :query-api="$API.sys_loginlog.pagedQuery" :vue="this" + @data-change="dataChange" ref="table" remote-filter remote-sort @@ -63,7 +64,8 @@ @@ -86,6 +88,7 @@