From b544d5cccd76735e034c8055918a50927b437474 Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期二, 10 十一月 2026 08:29:04 +0800
Subject: [PATCH] fix: 维护模式重复进入失败与按钮灰死 + Broker 并发验证用例

---
 Plugin.DeviceConfig/Entity/DeviceDefinition.cs |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/Plugin.DeviceConfig/Entity/DeviceDefinition.cs b/Plugin.DeviceConfig/Entity/DeviceDefinition.cs
index bc15286..f8108b8 100644
--- a/Plugin.DeviceConfig/Entity/DeviceDefinition.cs
+++ b/Plugin.DeviceConfig/Entity/DeviceDefinition.cs
@@ -16,6 +16,15 @@
     }
 
     /// <summary>
+    /// V3.0 鎵ц浣嶇疆鏋氫妇锛歀ocal=杩涚▼鐙崰鐩磋繛锛汢roker=璺ㄨ繘绋嬪叡浜紝鐢� DeviceBroker 瀹夸富浠g悊
+    /// </summary>
+    public enum ExecutionModeKind
+    {
+        Local,
+        Broker
+    }
+
+    /// <summary>
     /// 浼犺緭鏂瑰紡鏋氫妇
     /// </summary>
     public enum TransportType
@@ -68,6 +77,45 @@
         private string endpoint = string.Empty;
 
         /// <summary>
+        /// 鎵ц浣嶇疆: Local / Broker锛圴3.0 搂05锛岄粯璁� Local锛�
+        /// </summary>
+        [ObservableProperty]
+        private ExecutionModeKind executionMode = ExecutionModeKind.Local;
+
+        /// <summary>
+        /// 浠茶鍩熸爣璇嗭紙蹇呭~锛屽�欓�夊�肩敱閰嶇疆鏋氫妇锛涘悓涓� PhysicalSessionKey 鍙兘褰掑睘涓�涓徊瑁佸煙瀹夸富锛�
+        /// </summary>
+        [ObservableProperty]
+        private string authorityId = string.Empty;
+
+        /// <summary>
+        /// Broker 瀹夸富鏍囪瘑锛堜粎 Broker 妯″紡锛涢』涓庝徊瑁佸煙涓�鑷达級
+        /// </summary>
+        [ObservableProperty]
+        private string brokerId = string.Empty;
+
+        /// <summary>
+        /// Broker 瀹夸富杩涚▼鍙凤紙浠� Broker 璁板綍鐢紝杩愯鏈熶互 Broker 瀹為檯 PID 涓哄噯锛汳VP 鍗犱綅褰撳墠杩涚▼锛�
+        /// </summary>
+        [ObservableProperty]
+        private string ownerProcessId = string.Empty;
+
+        /// <summary>
+        /// 鐗╃悊浼氳瘽閿紙浠� Broker锛涘湴鍧�瑙勮寖鍖栧悗鐨勫浐瀹氬瓧绗︿覆锛屽 can/CAN_BUS_1/main锛�
+        /// </summary>
+        [ObservableProperty]
+        private string physicalSessionKey = string.Empty;
+
+        /// <summary>
+        /// 璁块棶鎺у埗绛栫暐锛氬彧璇绘淳鐢燂紝涓嶅彲鎵嬪伐缂栬緫锛圴3.0 搂05锛�
+        /// </summary>
+        public string AccessPolicy => ExecutionMode switch
+        {
+            ExecutionModeKind.Broker => "鍏变韩浠茶 路 Broker SessionGate 浠g悊",
+            _ => "鐙崰鐩磋繛 路 鏈繘绋嬫寔鏈夌墿鐞嗕細璇�"
+        };
+
+        /// <summary>
         /// 鐢熸晥鐗堟湰鍙�
         /// </summary>
         [ObservableProperty]

--
Gitblit v1.9.1