using Admin.Core.Model; using Admin.Core.Common; using Microsoft.AspNetCore.Mvc; using System.Collections.Generic; namespace Admin.Core.Api { /// <summary> /// BaseApiCpntroller /// </summary> public class BaseApiController : Controller { /// <summary> /// Success /// </summary> /// <typeparam name="T"></typeparam> /// <param name="data"></param> /// <param name="msg"></param> /// <returns></returns> [NonAction] public MessageModel<T> Success<T>(T data, string msg = "成功") { return new MessageModel<T>() { success = true, msg = msg, data = data, }; } /// <summary> /// Success /// </summary> /// <param name="msg"></param> /// <returns></returns> [NonAction] public MessageModel Success(string msg = "成功") { return new MessageModel() { success = true, msg = msg, data = null, }; } /// <summary> /// Failed /// </summary> /// <param name="msg"></param> /// <param name="status"></param> /// <returns></returns> [NonAction] public MessageModel<string> Failed(string msg = "失败", int status = 500) { return new MessageModel<string>() { success = false, status = status, msg = msg, data = null, }; } /// <summary> /// Failed /// </summary> /// <typeparam name="T"></typeparam> /// <param name="msg"></param> /// <param name="status"></param> /// <returns></returns> [NonAction] public MessageModel<T> Failed<T>(string msg = "失败", int status = 500) { return new MessageModel<T>() { success = false, status = status, msg = msg, data = default, }; } /// <summary> /// SuccessPage /// </summary> /// <typeparam name="T"></typeparam> /// <param name="page"></param> /// <param name="dataCount"></param> /// <param name="pageSize"></param> /// <param name="data"></param> /// <param name="msg"></param> /// <returns></returns> [NonAction] public MessageModel<PageModel<T>> SuccessPage<T>(int page, int dataCount, int pageSize, List<T> data, string msg = "获取成功") { return new MessageModel<PageModel<T>>() { success = true, msg = msg, data = new PageModel<T>() { page = page, dataCount = dataCount, data = data, pageSize = pageSize } }; } /// <summary> /// SuccessPage /// </summary> /// <typeparam name="T"></typeparam> /// <param name="pageModel"></param> /// <param name="msg"></param> /// <returns></returns> [NonAction] public MessageModel<PageModel<T>> SuccessPage<T>(PageModel<T> pageModel, string msg = "获取成功") { return new MessageModel<PageModel<T>>() { success = true, msg = msg, data = pageModel }; } } }