using Microsoft.AspNetCore.Mvc; using ERP.Framework.Constants; namespace ERP.Framework.WebApi { [ApiController] public class BaseController : ControllerBase { /// /// 请求成功后返回Json数据 /// /// protected IActionResult Success() { return new JsonResult(new { code = ReponseCode.Success, message = "Success", }); } /// /// 请求成功后返回Json数据 /// /// 返回消息 /// protected IActionResult Success(string message) { return new JsonResult(new { code = ReponseCode.Success, message }); } /// /// 请求成功后返回Json数据 /// /// Data 类型(Data不能为string类型) /// 返回数据 /// protected IActionResult Success(T data) { return new JsonResult(new { code = ReponseCode.Success, data, message = "Success" }); } /// /// 请求成功后返回Json数据 /// /// Data 类型 /// 返回消息 /// 返回数据 /// protected IActionResult Success(string message, T data) { return new JsonResult(new { code = ReponseCode.Success, data, message }); } /// /// /// /// protected IActionResult Error() { return new BadRequestObjectResult(new { code = ReponseCode.Error, message = "Failed" }); } protected IActionResult Error(string message) { return new BadRequestObjectResult(new { code = ReponseCode.Error, message }); } protected IActionResult Error(int code, string message) { return new BadRequestObjectResult(new { code, message }); } protected IActionResult Error(T data) { return new BadRequestObjectResult(new { code = ReponseCode.Error, data, message = "Failed" }); } protected IActionResult Error(string message, T data) { return new BadRequestObjectResult(new { code = ReponseCode.Error, data, message }); } /// /// 判断是否成功后返回 /// /// protected IActionResult Result(bool isSuccess) { if (isSuccess) { return Success(); } else { return Error(); } } protected IActionResult Result(int code, string message, T data) { return new BadRequestObjectResult(new { code, data, message }); } protected IActionResult BadResult(int httpErrorCode, int code, T data, string message) { var result = new BadRequestObjectResult(new { code, data, message }); result.StatusCode = httpErrorCode; return result; } //public override Task ExecuteResultAsync(ActionContext context) //{ // //if (context.ModelState.IsValid) // //{ // // return base.ExecuteResultAsync(context); // //} // //else // //{ // // var errors = context.ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage); // // return context.HttpContext.Response.WriteAsJsonAsync(new { success = false, message = "Validation failed", errors }); // //} //} } }