Przeglądaj źródła

refactor(ui): 优化网关摘要显示逻辑以区分启用状态

yangkaixiang 1 miesiąc temu
rodzic
commit
fdef36ecc4

+ 22 - 2
windows/NetworkTool.Client/DeviceDetailsWindow.xaml.cs

@@ -1394,10 +1394,12 @@ public partial class DeviceDetailsWindow : Window
         private string[] GetGatewayKeys()
         {
             var keys = new List<string>();
-            if (DefaultGatewayEnabled || !string.IsNullOrWhiteSpace(DefaultGateway))
+            keys.Add($"default enabled {DefaultGatewayEnabled}");
+            if (!string.IsNullOrWhiteSpace(DefaultGateway))
             {
                 keys.Add($"default via {DefaultGateway.Trim()}");
             }
+            keys.Add($"custom routes enabled {CustomRoutesEnabled}");
             if (CustomRoutesEnabled)
             {
                 keys.AddRange(Routes
@@ -1425,7 +1427,25 @@ public partial class DeviceDetailsWindow : Window
 
         private static string FormatGatewaySummary(bool dhcp4, IReadOnlyList<string> keys)
         {
-            return dhcp4 ? "自动获取" : FormatKeys(keys);
+            if (dhcp4)
+            {
+                return "自动获取";
+            }
+
+            var defaultGatewayEnabled = keys.Contains("default enabled True");
+            var customRoutesEnabled = keys.Contains("custom routes enabled True");
+            var displayItems = new List<string>();
+            if (defaultGatewayEnabled)
+            {
+                var defaultGateway = keys.FirstOrDefault(item => item.StartsWith("default via ", StringComparison.Ordinal));
+                displayItems.Add(defaultGateway is null ? "默认网关已启用(未填写)" : $"默认网关:{defaultGateway[12..]}");
+            }
+            if (customRoutesEnabled)
+            {
+                displayItems.AddRange(keys.Where(item => !item.StartsWith("default ", StringComparison.Ordinal) && !item.StartsWith("custom routes enabled ", StringComparison.Ordinal)));
+            }
+
+            return FormatKeys(displayItems);
         }
 
         private void SetField<T>(ref T field, T value, [CallerMemberName] string propertyName = "")

+ 1 - 1
windows/NetworkTool.Client/NetworkTool.Client.csproj

@@ -6,7 +6,7 @@
     <Nullable>enable</Nullable>
     <ImplicitUsings>enable</ImplicitUsings>
     <UseWPF>true</UseWPF>
-    <InformationalVersion>2026.05.13.1557</InformationalVersion>
+    <InformationalVersion>2026.05.13.1605</InformationalVersion>
   </PropertyGroup>
 
 </Project>