using EntrustSettle.Common.Const; using EntrustSettle.Model; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace EntrustSettle.Controllers { [Route("api/[controller]/[action]")] [ApiController] [Authorize] [ApiExplorerSettings(GroupName = ApiGroupNameConst.Business)] public class BaseApiController : Controller { #region 常用的 Http Route templete 后缀,影响所有接口,谨慎修改 protected const string ActionList = "list"; protected const string ActionDetail = "detail"; protected const string ActionAdd = "add"; protected const string ActionEdit = "edit"; protected const string ActionDelete = "delete"; #endregion #region 构建返回数据 /// /// 返回一个成功提示,但不包含数据 /// [NonAction] protected MessageModel SuccessMsg(string msg = "成功") { return new MessageModel() { code = 200, success = true, msg = msg }; } /// /// 因某项原因导致流程没有完全进行下去,但是并没有到失败的消息级别 /// [NonAction] protected MessageModel Success(int code, string msg = "成功") { return new MessageModel() { code = code, success = true, msg = msg }; } /// /// 返回一个成功提示,包含数据 /// [NonAction] protected MessageModel Success(T data, string msg = "成功") { return new MessageModel() { code = 200, success = true, msg = msg, data = data, }; } /// /// 返回一个错误提示,但不包含数据 /// [NonAction] protected MessageModel FailedMsg(string msg = "失败", int code = 500) { return new MessageModel() { code = code, success = false, msg = msg }; } /// /// 返回一个错误提示(可以自定义错误代码,data为T的默认值) /// [NonAction] protected MessageModel Failed(int code, string msg = "失败") { return new MessageModel() { code = code, success = false, msg = msg, data = default, }; } /// /// 返回一个错误提示(code为500,data为T的默认值) /// [NonAction] protected MessageModel Failed(string msg = "失败") { return new MessageModel() { code = 500, success = false, msg = msg, data = default, }; } [NonAction] protected MessageModel> SuccessPage(List data, int dataCount, int page, int pageSize, string msg = "成功") { return new MessageModel>() { code = 200, success = true, msg = msg, data = new PageModel() { data = data, dataCount = dataCount, pageIndex = page, pageSize = pageSize, } }; } [NonAction] protected MessageModel> SuccessPage(PageModel pageModel, string msg = "成功") { return new MessageModel>() { code = 200, success = true, msg = msg, data = new PageModel() { data = pageModel.data, dataCount = pageModel.dataCount, pageIndex = pageModel.pageIndex, pageSize = pageModel.pageSize, } }; } #endregion } }