diff --git a/Src/Dlhis.External/OpenApi/Controllers/DeviceController.cs b/Src/Dlhis.External/OpenApi/Controllers/DeviceController.cs index 63d43761..cb0f5362 100644 --- a/Src/Dlhis.External/OpenApi/Controllers/DeviceController.cs +++ b/Src/Dlhis.External/OpenApi/Controllers/DeviceController.cs @@ -41,6 +41,7 @@ public class DevicesController : ControllerBase HeartbeatInterval = x.HeartbeatInterval, DirectionType = x.DeployDirection, LastHeartbeatTime = xr.LastHeartbeatTime, + ConnectionInfo = x.ConnectionInfo }) .ToListAsync(); } diff --git a/Src/Dlhis.External/OpenApi/Response/DeviceResponse.cs b/Src/Dlhis.External/OpenApi/Response/DeviceResponse.cs index 75fcd769..41b47ee5 100644 --- a/Src/Dlhis.External/OpenApi/Response/DeviceResponse.cs +++ b/Src/Dlhis.External/OpenApi/Response/DeviceResponse.cs @@ -1,4 +1,7 @@ using Dlhis.Entity.Device.Enums; +using Kurisu.AspNetCore.Utils.Extensions; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; namespace Dlhis.External.OpenApi.Response; @@ -49,4 +52,27 @@ public class DeviceResponse return LastHeartbeatTime.Value.AddSeconds(HeartbeatInterval) >= DateTime.Now; } } + + [JsonIgnore] + public string ConnectionInfo { get; set; } + + /// + /// 设备列表 + /// + public string Ip + { + get + { + if (!ConnectionInfo.IsPresent()) + { + return string.Empty; + } + + var jObj = JObject.Parse(ConnectionInfo); + + return jObj.TryGetValue("ip", out var ip) + ? ip.Value() + : string.Empty; + } + } } \ No newline at end of file