dengjunjie
2025-01-15 059bfb279d7bb7a45b1a9d3d5e26db238e939a7f
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
@@ -1,4 +1,5 @@
锘縰sing Microsoft.AspNetCore.Authorization;
锘縰sing HslCommunication.WebSocket;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using WIDESEAWCS_Core;
@@ -16,11 +17,13 @@
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        private readonly IRouterExtension _routerExtension;
        private readonly WebSocketServer _webSocketServer;
        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension) : base(service)
        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension, WebSocketServer webSocketServer) : base(service)
        {
            _httpContextAccessor = httpContextAccessor;
            _routerExtension = routerExtension;
            _webSocketServer = webSocketServer;
        }
        [HttpPost, Route("ReceiveTask"), AllowAnonymous]
@@ -69,10 +72,25 @@
        {
            return Service.SendSecureReplyToAgv(taskNum);
        }
        [HttpPost, HttpGet, Route("GetRouteEndPoint"), AllowAnonymous]
        public WebResponseContent GetRouteEndPoint(string startPoint, int routeType)
        {
            return WebResponseContent.Instance.OK(data: _routerExtension.GetEndPoint(startPoint, routeType));
        }
        [HttpPost, HttpGet, Route("WebSocketPushMessage"), AllowAnonymous]
        public WebResponseContent WebSocketPushMessage(string message)
        {
            try
            {
                 _webSocketServer.PublishAllClientPayload(message);
                return WebResponseContent.Instance.OK();
            }
            catch(Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
    }
}