using Microsoft.AspNetCore.Mvc; using System.Net; namespace CoreAgent.Domain.Models.Common; /// /// API操作结果 /// public class ApiActionResult : IActionResult { /// /// 是否成功 /// public bool IsSuccess { get; set; } /// /// 消息 /// public string Message { get; set; } /// /// 错误代码 /// public string ErrorCode { get; set; } /// /// HTTP状态码 /// public HttpStatusCode StatusCode { get; set; } = HttpStatusCode.OK; /// /// 创建成功结果 /// /// 消息 /// API操作结果 public static ApiActionResult Ok(string message = "操作成功") { return new ApiActionResult { IsSuccess = true, Message = message, ErrorCode = string.Empty, StatusCode = HttpStatusCode.OK }; } /// /// 创建失败结果 /// /// 错误消息 /// 错误代码 /// HTTP状态码 /// API操作结果 public static ApiActionResult Error(string message, string errorCode = "ERROR", HttpStatusCode statusCode = HttpStatusCode.BadRequest) { return new ApiActionResult { IsSuccess = false, Message = message, ErrorCode = errorCode, StatusCode = statusCode }; } public Task ExecuteResultAsync(ActionContext context) { var result = new ObjectResult(this) { StatusCode = (int)StatusCode }; return result.ExecuteResultAsync(context); } } /// /// 带数据的API操作结果 /// /// 数据类型 public class ApiActionResult : ApiActionResult { /// /// 数据 /// public T Data { get; set; } /// /// 创建成功结果 /// /// 数据 /// 消息 /// API操作结果 public static ApiActionResult Ok(T data, string message = "操作成功") { return new ApiActionResult { IsSuccess = true, Message = message, ErrorCode = string.Empty, StatusCode = HttpStatusCode.OK, Data = data }; } /// /// 创建失败结果 /// /// 错误消息 /// 错误代码 /// HTTP状态码 /// API操作结果 public static ApiActionResult Error(string message, string errorCode = "ERROR", HttpStatusCode statusCode = HttpStatusCode.BadRequest) { return new ApiActionResult { IsSuccess = false, Message = message, ErrorCode = errorCode, StatusCode = statusCode, Data = default }; } }