From 72cc3c42fded6f2d5a8cc43244746493c346d8f8 Mon Sep 17 00:00:00 2001 From: tk Date: Tue, 14 Jan 2025 15:31:16 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=F0=9F=94=A8=20npm=20update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/RepositoryService.cs | 3 +++ .../Middlewares/EnvironmentInfoMiddleware.cs | 16 ++++++++++++++++ .../Utils/CaptchaImageHelper.cs | 6 +++--- .../NetAdmin.Infrastructure/Utils/RedisLocker.cs | 4 +++- src/frontend/admin/package.json | 10 +++++----- 5 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 src/backend/NetAdmin/NetAdmin.Host/Middlewares/EnvironmentInfoMiddleware.cs diff --git a/src/backend/NetAdmin/NetAdmin.Application/Services/RepositoryService.cs b/src/backend/NetAdmin/NetAdmin.Application/Services/RepositoryService.cs index 089798e0..6e4b59c8 100644 --- a/src/backend/NetAdmin/NetAdmin.Application/Services/RepositoryService.cs +++ b/src/backend/NetAdmin/NetAdmin.Application/Services/RepositoryService.cs @@ -138,6 +138,8 @@ public abstract class RepositoryService(BasicReposit { var ret = includeFields!.ToDictionary( x => x, x => typeof(TEntity).GetProperty(x, BindingFlags.Public | BindingFlags.Instance)!.GetValue(entity)); + + // ReSharper disable once ConvertIfStatementToSwitchStatement if (entity is IFieldModifiedUser) { var userInfo = App.GetService(); if (userInfo == null) { @@ -148,6 +150,7 @@ public abstract class RepositoryService(BasicReposit ret.Add(nameof(IFieldModifiedUser.ModifiedUserName), userInfo.UserName); } + // ReSharper disable once SuspiciousTypeConversion.Global if (entity is IFieldModifiedClientIp) { ret.Add(nameof(IFieldModifiedClientIp.ModifiedClientIp), App.HttpContext?.GetRealIpAddress()?.MapToIPv4().ToString().IpV4ToInt32()); } diff --git a/src/backend/NetAdmin/NetAdmin.Host/Middlewares/EnvironmentInfoMiddleware.cs b/src/backend/NetAdmin/NetAdmin.Host/Middlewares/EnvironmentInfoMiddleware.cs new file mode 100644 index 00000000..f918042d --- /dev/null +++ b/src/backend/NetAdmin/NetAdmin.Host/Middlewares/EnvironmentInfoMiddleware.cs @@ -0,0 +1,16 @@ +namespace NetAdmin.Host.Middlewares; + +/// +/// 输出环境信息到 http header +/// +public sealed class EnvironmentInfoMiddleware(RequestDelegate next) +{ + /// + /// 主函数 + /// + public Task InvokeAsync(HttpContext context) + { + context.Response.Headers.Append("X-Node", Environment.MachineName); + return next(context); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs b/src/backend/NetAdmin/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs index 110697dc..1a1b38d9 100644 --- a/src/backend/NetAdmin/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs +++ b/src/backend/NetAdmin/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs @@ -37,12 +37,12 @@ public static class CaptchaImageHelper await using var tranStream = resAsm.GetManifestResourceStream($"{tempPath}._{templateIndex}.transparent.png"); // 底图 - using var backgroundImage = await Image.LoadAsync(bgStream).ConfigureAwait(false); + using var backgroundImage = await Image.LoadAsync(bgStream!).ConfigureAwait(false); - using var darkTemplateImage = await Image.LoadAsync(darkStream).ConfigureAwait(false); + using var darkTemplateImage = await Image.LoadAsync(darkStream!).ConfigureAwait(false); // 透明模板图 - using var transparentTemplateImage = await Image.LoadAsync(tranStream).ConfigureAwait(false); + using var transparentTemplateImage = await Image.LoadAsync(tranStream!).ConfigureAwait(false); // 调整模板图大小 darkTemplateImage.Mutate(x => x.Resize(sliderSize)); diff --git a/src/backend/NetAdmin/NetAdmin.Infrastructure/Utils/RedisLocker.cs b/src/backend/NetAdmin/NetAdmin.Infrastructure/Utils/RedisLocker.cs index d3b850e8..38e4d89c 100644 --- a/src/backend/NetAdmin/NetAdmin.Infrastructure/Utils/RedisLocker.cs +++ b/src/backend/NetAdmin/NetAdmin.Infrastructure/Utils/RedisLocker.cs @@ -49,7 +49,9 @@ public sealed class RedisLocker : IAsyncDisposable return new RedisLocker(redisDatabase, lockerName); } - await Task.Delay(retryDelay).ConfigureAwait(false); + if (retryCount > 1) { + await Task.Delay(retryDelay).ConfigureAwait(false); + } } throw new NetAdminGetLockerException(lockerName); diff --git a/src/frontend/admin/package.json b/src/frontend/admin/package.json index 6105450a..3159de5c 100644 --- a/src/frontend/admin/package.json +++ b/src/frontend/admin/package.json @@ -10,12 +10,12 @@ }, "dependencies": { "@element-plus/icons-vue": "2.3.1", - "ace-builds": "1.37.1", - "aieditor": "1.3.3", + "ace-builds": "1.37.4", + "aieditor": "1.3.4", "axios": "1.7.9", "crypto-js": "4.2.0", "echarts": "5.6.0", - "element-plus": "2.9.1", + "element-plus": "2.9.3", "json-bigint": "1.0.0", "markdown-it": "14.1.0", "markdown-it-emoji": "3.0.0", @@ -34,9 +34,9 @@ "@vitejs/plugin-vue": "5.2.1", "prettier": "3.4.2", "prettier-plugin-organize-attributes": "1.0.0", - "sass": "1.83.0", + "sass": "1.83.1", "terser": "5.37.0", - "vite": "6.0.6" + "vite": "6.0.7" }, "browserslist": [ "> 1%",