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
}
}