From bd4ce7c09b209b65a64a1d82f095b691c9e1383f Mon Sep 17 00:00:00 2001 From: "2248356998 qq.com" <2248356998@qq.com> Date: Mon, 29 Sep 2025 17:47:24 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8Dnet10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SeedData/Admin/seed_sys_resource.json | 4 +-- .../Context/BlazorAppContext.cs | 21 +++++++++++----- .../Util/AdminResourceUtil.cs | 11 ++++++-- src/Directory.Build.props | 6 ++--- .../Gateway/seed_gateway_resource.json | 4 +-- .../ChannelDeviceTree.razor.cs | 25 ++++++------------- 6 files changed, 39 insertions(+), 32 deletions(-) diff --git a/src/Admin/ThingsGateway.Admin.Application/SeedData/Admin/seed_sys_resource.json b/src/Admin/ThingsGateway.Admin.Application/SeedData/Admin/seed_sys_resource.json index 394e9fad0..8cc00bf29 100644 --- a/src/Admin/ThingsGateway.Admin.Application/SeedData/Admin/seed_sys_resource.json +++ b/src/Admin/ThingsGateway.Admin.Application/SeedData/Admin/seed_sys_resource.json @@ -26,7 +26,7 @@ "Module": 2, "Title": "权限管理", "Code": "System", - "NavLinkMatch": "All", + "NavLinkMatch": "Prefix", "Category": "MENU", "Target": "_self", "Href": null, @@ -47,7 +47,7 @@ "ParentId": 0, "Module": 2, "Title": "系统运维", - "NavLinkMatch": "All", + "NavLinkMatch": "Prefix", "Code": "System", "Category": "MENU", "Target": "_self", diff --git a/src/Admin/ThingsGateway.Admin.Razor/Context/BlazorAppContext.cs b/src/Admin/ThingsGateway.Admin.Razor/Context/BlazorAppContext.cs index 4adac4154..40a7e326c 100644 --- a/src/Admin/ThingsGateway.Admin.Razor/Context/BlazorAppContext.cs +++ b/src/Admin/ThingsGateway.Admin.Razor/Context/BlazorAppContext.cs @@ -125,13 +125,22 @@ public class BlazorAppContext var ownMenus = OwnMenus.Where(a => a.Module == CurrentModuleId); OwnMenuItems = AdminResourceUtil.BuildMenuTrees(ownMenus).ToList(); AllOwnMenuItems = AdminResourceUtil.BuildMenuTrees(OwnMenus).ToList(); - OwnSameLevelMenuItems = ownMenus.Where(a => !a.Href.IsNullOrWhiteSpace()).Select(item => new MenuItem() + OwnSameLevelMenuItems = ownMenus.Where(a => !a.Href.IsNullOrWhiteSpace()).Select(item => { - Match = item.NavLinkMatch ?? Microsoft.AspNetCore.Components.Routing.NavLinkMatch.All, - Text = item.Title, - Icon = item.Icon, - Url = item.Href, - Target = item.Target.ToString(), + var menu = new MenuItem() + { + Match = item.NavLinkMatch ?? Microsoft.AspNetCore.Components.Routing.NavLinkMatch.Prefix, + Text = item.Title, + Icon = item.Icon, + Url = item.Href, + Target = item.Target.ToString(), + }; + if (menu.Url.IsNullOrEmpty()) + { + menu.Match = Microsoft.AspNetCore.Components.Routing.NavLinkMatch.Prefix; + } + return menu; + }).ToList(); UserWorkbenchOutputs = AllMenus.Where(it => UserWorkBench.Shortcuts.Contains(it.Id)).ToList(); } diff --git a/src/Admin/ThingsGateway.Admin.Razor/Util/AdminResourceUtil.cs b/src/Admin/ThingsGateway.Admin.Razor/Util/AdminResourceUtil.cs index 608dfb2d1..d2590947d 100644 --- a/src/Admin/ThingsGateway.Admin.Razor/Util/AdminResourceUtil.cs +++ b/src/Admin/ThingsGateway.Admin.Razor/Util/AdminResourceUtil.cs @@ -41,15 +41,22 @@ public static class AdminResourceUtil return items .Where(it => it.ParentId == parentId) .Select((item, index) => - new MenuItem() + { + var menu = new MenuItem() { - Match = item.NavLinkMatch ?? Microsoft.AspNetCore.Components.Routing.NavLinkMatch.All, + Match = item.NavLinkMatch ?? Microsoft.AspNetCore.Components.Routing.NavLinkMatch.Prefix, Text = item.Title, Icon = item.Icon, Url = item.Href, Target = item.Target.ToString(), Items = BuildMenuTrees(items, item.Id).ToList() + }; + if(menu.Url.IsNullOrEmpty()) + { + menu.Match = Microsoft.AspNetCore.Components.Routing.NavLinkMatch.Prefix; } + return menu; + } ); } diff --git a/src/Directory.Build.props b/src/Directory.Build.props index e0a2a2df2..f26e859f4 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,9 +1,9 @@ - 10.11.80 - 10.11.80 - 10.11.80 + 10.11.81 + 10.11.81 + 10.11.81 10.11.6 10.11.6 8.0.20 diff --git a/src/Gateway/ThingsGateway.Gateway.Application/SeedData/Gateway/seed_gateway_resource.json b/src/Gateway/ThingsGateway.Gateway.Application/SeedData/Gateway/seed_gateway_resource.json index b46de9c43..2d6065cfc 100644 --- a/src/Gateway/ThingsGateway.Gateway.Application/SeedData/Gateway/seed_gateway_resource.json +++ b/src/Gateway/ThingsGateway.Gateway.Application/SeedData/Gateway/seed_gateway_resource.json @@ -233,7 +233,7 @@ "Code": "System", "Category": "1", "Target": "0", - "NavLinkMatch": "1", + "NavLinkMatch": "0", "CreateTime": "2025-01-14 20:16:18.362", "CreateUserId": "0", "IsDelete": "0", @@ -248,7 +248,7 @@ "Code": "System", "Category": "1", "Target": "0", - "NavLinkMatch": "1", + "NavLinkMatch": "0", "CreateTime": "2025-01-14 20:16:18.362", "CreateUserId": "0", "IsDelete": "0", diff --git a/src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/ChannelDeviceTree.razor.cs b/src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/ChannelDeviceTree.razor.cs index cb7c30bce..e046a6643 100644 --- a/src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/ChannelDeviceTree.razor.cs +++ b/src/Gateway/ThingsGateway.Gateway.Razor/Pages/GatewayMonitorPage/ChannelDeviceTree.razor.cs @@ -1412,29 +1412,20 @@ EventCallback.Factory.Create(this, async e => await base.OnInitializedAsync(); } - WaitLock WaitLock = new(nameof(ChannelDeviceTree)); private async Task Notify(CancellationToken cancellationToken) { if (cancellationToken.IsCancellationRequested) return; if (Disposed) return; - try + + await OnClickSearch(SearchText); + + Value = GetValue(Value); + if (ChannelDeviceChanged != null) { - await WaitLock.WaitAsync(cancellationToken); - - await OnClickSearch(SearchText); - - Value = GetValue(Value); - if (ChannelDeviceChanged != null) - { - await ChannelDeviceChanged.Invoke(Value); - } - await InvokeAsync(StateHasChanged); - - } - finally - { - WaitLock.Release(); + await ChannelDeviceChanged.Invoke(Value); } + await InvokeAsync(StateHasChanged); + } private static ChannelDeviceTreeItem GetValue(ChannelDeviceTreeItem channelDeviceTreeItem)