using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.WebAPI.Models; namespace Milimoe.FunGame.WebAPI.Controllers { [ApiController] [Route("[controller]")] [Authorize] public class MainController(RESTfulAPIModel model, ILogger logger) : ControllerBase { private readonly ILogger _logger = logger; /// /// 获取公告 /// [HttpGet("notice")] public async Task GetNotice() { PayloadModel response = new() { Event = "main_getnotice", RequestType = DataRequestType.Main_GetNotice }; try { Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Main_GetNotice, []); response.StatusCode = 200; response.Data = result; return Ok(response); } catch (Exception e) { _logger.LogError("Error: {e}", e); } response.StatusCode = 500; response.Message = "服务器暂时无法处理此请求。"; return StatusCode(500, response); } /// /// 发送聊天消息 /// [HttpPost("chat")] public async Task Chat([FromBody] Dictionary data) { PayloadModel response = new() { Event = "main_chat", RequestType = DataRequestType.Main_Chat }; try { Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Main_Chat, data); response.StatusCode = 200; response.Data = result; return Ok(response); } catch (Exception e) { _logger.LogError("Error: {e}", e); } response.StatusCode = 500; response.Message = "服务器暂时无法处理此请求。"; return StatusCode(500, response); } } }