using EntrustSettle.Model; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace EntrustSettle.Controllers { [Route("api/[controller]/[action]")] [ApiController] [Authorize] 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 = 2000, 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 = 2000, success = true, msg = msg, data = data, }; } /// /// 返回一个错误提示,但不包含数据 /// [NonAction] protected MessageModel FailedMsg(int code, string msg = "失败") { 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为5000,data为T的默认值) /// [NonAction] protected MessageModel Failed(string msg = "失败") { return new MessageModel() { code = 5000, success = false, msg = msg, data = default, }; } [NonAction] protected MessageModel> SuccessPage(List data, int dataCount, int page, int pageSize, int pageCount, string msg = "成功") { return new MessageModel>() { code = 2000, success = true, msg = msg, data = new PageModel() { data = data, dataCount = dataCount, page = page, pageSize = pageSize, pageCount = pageCount } }; } [NonAction] protected MessageModel> SuccessPage(PageModel pageModel, string msg = "成功") { return new MessageModel>() { code = 2000, success = true, msg = msg, data = new PageModel() { data = pageModel.data, dataCount = pageModel.dataCount, page = pageModel.page, pageSize = pageModel.pageSize, pageCount = pageModel.pageCount } }; } #endregion } }