using Microsoft.AspNetCore.Mvc; using LTEMvcApp.Models; using LTEMvcApp.Services; using Microsoft.Extensions.Logging; namespace LTEMvcApp.Controllers { /// /// 配置管理控制器 - 负责普通客户端配置管理 /// [ApiController] [Route("api/[controller]")] public class ConfigController : ControllerBase { private readonly WebSocketManagerService _webSocketManager; private readonly ILogger _logger; public ConfigController(WebSocketManagerService webSocketManager, ILogger logger) { _webSocketManager = webSocketManager; _logger = logger; } /// /// 获取客户端配置 /// /// 客户端名称 /// 客户端配置 [HttpGet("{clientName}")] public ActionResult GetClientConfig(string clientName) { var config = _webSocketManager.GetClientConfig(clientName); if (config == null) return NotFound($"客户端 '{clientName}' 不存在"); return Ok(config); } /// /// 获取所有客户端配置 /// /// 客户端配置列表 [HttpGet] public ActionResult> GetAllConfigs() { var configs = _webSocketManager.GetAllClientConfigs(); return Ok(configs); } /// /// 添加客户端配置 /// /// 客户端配置 /// 操作结果 [HttpPost] public ActionResult AddClientConfig([FromBody] ClientConfig config) { if (string.IsNullOrEmpty(config.Name)) return BadRequest("客户端名称不能为空"); var success = _webSocketManager.AddClientConfig(config); if (success) return Ok(new { message = $"客户端 '{config.Name}' 配置已添加" }); else return BadRequest("添加客户端配置失败"); } /// /// 移除客户端配置 /// /// 客户端名称 /// 操作结果 [HttpDelete("{clientName}")] public ActionResult RemoveClientConfig(string clientName) { var success = _webSocketManager.RemoveClientConfig(clientName); if (success) return Ok(new { message = $"客户端 '{clientName}' 配置已移除" }); else return BadRequest($"移除客户端 '{clientName}' 配置失败"); } } }