using System;
using System.Collections.Generic;
namespace Store.Framework.Models
{
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;
///
/// 参数校验失败
///
public const int ValidationError = 1001;
///
/// 业务逻辑异常
///
public const int BusinessError = 2001;
///
/// 服务器内部错误
///
public const int ServerError = 5000;
}
///
/// 非泛型基类,用于统一处理
///
public abstract class ApiResultBase
{
/// 业务状态码
public int Code { get; set; } = ResultCode.Success;
/// 提示信息
public string Msg { get; set; }
/// 请求是否成功
public bool IsSuccess => Code == ResultCode.Success;
}
///
/// 泛型响应
///
public class ApiResult : ApiResultBase
{
public T Data { get; set; }
public static ApiResult Success(T data, string msg = "操作成功")
=> new ApiResult { Code = ResultCode.Success, Data = data, Msg = msg };
public static ApiResult Fail(string msg = "操作失败", int code = ResultCode.Fail, T data = default)
=> new ApiResult { Code = code, Msg = msg, Data = data };
}
///
/// 无数据响应(等同于 ApiResult
public class ApiResult : ApiResult