70 lines
1.8 KiB
C#
70 lines
1.8 KiB
C#
using MAX.Framework.Commons;
|
|
using static System.Runtime.InteropServices.JavaScript.JSType;
|
|
|
|
namespace MAX.Framework.Dtos
|
|
{
|
|
public static class ResultCode
|
|
{
|
|
public const int Success = 200;
|
|
public const int Fail = 500;
|
|
|
|
public const int Unauthorized = 401;
|
|
public const int Forbidden = 403;
|
|
public const int NotFound = 404;
|
|
/// <summary>
|
|
/// 参数校验失败
|
|
/// </summary>
|
|
public const int ValidationError = 1001;
|
|
/// <summary>
|
|
/// 业务逻辑异常
|
|
/// </summary>
|
|
public const int BusinessError = 2001;
|
|
/// <summary>
|
|
/// 服务器内部错误
|
|
/// </summary>
|
|
public const int ServerError = 5000;
|
|
}
|
|
/// <summary>
|
|
/// 非泛型基类,用于统一处理
|
|
/// </summary>
|
|
public abstract class ApiResultBase
|
|
{
|
|
/// <summary>业务状态码</summary>
|
|
public int Code { get; set; } = ResultCode.Success;
|
|
|
|
/// <summary>提示信息</summary>
|
|
public string? Msg { get; set; }
|
|
|
|
/// <summary>请求是否成功</summary>
|
|
public bool Success => Code == ResultCode.Success;
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 泛型响应
|
|
/// </summary>
|
|
public class ApiResult<T> : ApiResultBase
|
|
{
|
|
public T? Data { get; set; }
|
|
|
|
public static ApiResult<T> Success(T data, string msg = "操作成功")
|
|
=> new ApiResult<T> { Code = ResultCode.Success, Data = data, Msg = msg };
|
|
|
|
public static ApiResult<T> Fail(string msg = "操作失败", int code = ResultCode.Fail, T? data = default)
|
|
=> new ApiResult<T> { Code = code, Msg = msg, Data = data };
|
|
}
|
|
|
|
/// <summary>
|
|
/// 响应
|
|
/// </summary>
|
|
public class ApiResult : ApiResult<object>
|
|
{
|
|
public static ApiResult Success(string msg = "操作成功")
|
|
=> new ApiResult { Code = ResultCode.Success, Msg = msg };
|
|
|
|
public static ApiResult Fail(string msg = "操作失败", int code = ResultCode.Fail)
|
|
=> new ApiResult { Code = code, Msg = msg };
|
|
}
|
|
|
|
}
|