/// <summary>
/// 返回封装
/// </summary>
/// <param name="statusCode"></param>
/// <returns></returns>
public static JsonResult toResponse(StatusCodeType statusCode)
{
ApiResult response = new ApiResult();
response.StatusCode = (int)statusCode;
response.Message = statusCode.GetEnumText();
return new JsonResult(response);
}
/// <summary>
/// 返回封装
/// </summary>
/// <param name="statusCode"></param>
/// <param name="retMessage"></param>
/// <returns></returns>
public static JsonResult toResponse(StatusCodeType statusCode, string retMessage)
{
ApiResult response = new ApiResult();
response.StatusCode = (int)statusCode;
response.Message = retMessage;
return new JsonResult(response);
}
/// <summary>
/// 返回封装
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="data"></param>
/// <returns></returns>
public static JsonResult toResponse<T>(T data)
{
ApiResult<T> response = new ApiResult<T>();
response.StatusCode = (int)StatusCodeType.Success;
response.Message = StatusCodeType.Success.GetEnumText();
response.Data = data;
return new JsonResult(response);
}
/// <summary>
/// 统一接口返回
/// </summary>
/// <typeparam name="T"></typeparam>
public class ApiResult
{
public ApiResult()
{
StatusCode = 0;
}
/// <summary>
/// 请求状态
/// </summary>
public int StatusCode { get; set; }
/// <summary>
/// 返回信息
/// </summary>
public string Message { get; set; }
/// <summary>
/// 返回时间戳
/// </summary>
public string Timestamp { get; set; } = DateTimeOffset.Now.ToUnixTimeSeconds().ToString();
}
public class ApiResult<T> : ApiResult
{
/// <summary>
/// 接口返回值
/// </summary>
public T Data { get; set; }
}
public class TextAttribute : Attribute
{
public TextAttribute(string value)
{
Value = value;
}
public string Value { get; set; }
}
public enum StatusCodeType
{
[Text("请求(或处理)成功")]
Success = 200,
[Text("内部请求出错")]
Error = 500,
[Text("访问请求未授权! 当前 SESSION 失效, 请重新登陆")]
Unauthorized = 401,
[Text("请求参数不完整或不正确")]
ParameterError = 400,
[Text("您无权进行此操作,请求执行已拒绝")]
Forbidden = 403,
[Text("找不到与请求匹配的 HTTP 资源")]
NotFound = 404,
[Text("HTTP请求类型不合法")]
HttpMehtodError = 405,
[Text("HTTP请求不合法,请求参数可能被篡改")]
HttpRequestError = 406,
[Text("该URL已经失效")]
URLExpireError = 407,
}