diff --git a/Src/Dlhis.Basic/Device/Controllers/DevicesConnectController.cs b/Src/Dlhis.Basic/Device/Controllers/DevicesConnectController.cs
new file mode 100644
index 00000000..bd0cf881
--- /dev/null
+++ b/Src/Dlhis.Basic/Device/Controllers/DevicesConnectController.cs
@@ -0,0 +1,58 @@
+using Dlhis.Basic.Device.Request;
+using Dlhis.Basic.Device.Services;
+using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+
+namespace Dlhis.Basic.Device.Controllers;
+
+///
+/// 设备连接控制器
+///
+[Authorize]
+[Route("api/[controller]")]
+[ApiController]
+public class DevicesConnectController : ControllerBase
+{
+ private readonly IDeviceConnectService _deviceConnectService;
+
+ public DevicesConnectController(IDeviceConnectService deviceConnectService)
+ {
+ _deviceConnectService = deviceConnectService;
+ }
+
+ ///
+ /// 设备心跳
+ ///
+ ///
+ ///
+ [HttpPost("heartbeat")]
+ [IgnoreTenant]
+ public async Task HeartbeatAsync(DeviceHeartbeatRequest request)
+ {
+ await _deviceConnectService.HeartbeatAsync(request);
+ }
+
+ ///
+ /// 设备注册
+ ///
+ ///
+ ///
+ [HttpPost("resigter")]
+ [IgnoreTenant]
+ public async Task ResigterAsync(DeviceResigterRequest request)
+ {
+ return await _deviceConnectService.ResigterAsync(request);
+ }
+
+ ///
+ /// 尝试连接
+ ///
+ ///
+ ///
+ [HttpPost("try-connect")]
+ public async Task TryConnectAsync(DeviceConnectionTryRequest request)
+ {
+ return await _deviceConnectService.TryConnectAsync(request);
+ }
+}
diff --git a/Src/Dlhis.Basic/Device/Dtos/IPPortDto.cs b/Src/Dlhis.Basic/Device/Dtos/IPPortDto.cs
new file mode 100644
index 00000000..60ba4f46
--- /dev/null
+++ b/Src/Dlhis.Basic/Device/Dtos/IPPortDto.cs
@@ -0,0 +1,8 @@
+namespace Dlhis.Basic.Device.Dtos
+{
+ public class IPPortDto
+ {
+ public string IP { get; set; }
+ public int Port { get; set; }
+ }
+}
diff --git a/Src/Dlhis.Basic/Device/Request/DeviceConnectionTryRequest.cs b/Src/Dlhis.Basic/Device/Request/DeviceConnectionTryRequest.cs
new file mode 100644
index 00000000..ee6a87c7
--- /dev/null
+++ b/Src/Dlhis.Basic/Device/Request/DeviceConnectionTryRequest.cs
@@ -0,0 +1,12 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace Dlhis.Basic.Device.Request;
+
+public class DeviceConnectionTryRequest
+{
+ ///
+ /// 连接信息
+ ///
+ [Required(ErrorMessage = "连接信息不可为空")]
+ public string ConnectionInfo { get; set; }
+}