using Infrastructure.Constant; using Newtonsoft.Json; namespace Infrastructure.Model { /// /// 统一的API返回结果类 /// public class ApiResult { /// /// 返回码 /// public int Code { get; set; } /// /// 返回信息 /// public string Msg { get; set; } /// /// 如果data值为null,则忽略序列化将不会返回data字段 /// [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] public object Data { get; set; } /// /// 初始化一个新创建的APIResult对象,使其表示一个空消息 /// public ApiResult() { } /// /// 初始化一个新创建的 ApiResult 对象 /// /// 返回码 /// 返回信息 public ApiResult(int code, string msg) { Code = code; Msg = msg; } /// /// 初始化一个新创建的 ApiResult 对象 /// /// 返回码 /// 返回信息 /// 返回数据 public ApiResult(int code, string msg, object data) { Code = code; Msg = msg; if (data != null) { Data = data; } } /// /// 返回成功消息 /// /// public ApiResult Success() { Code = (int)ResultCode.SUCCESS; Msg = "success"; return this; } /// /// 返回成功消息 /// /// 数据对象 /// 成功消息 public static ApiResult Success(object data) { return new ApiResult(HttpStatus.SUCCESS, "success", data); } /// /// 返回成功消息 /// /// 返回内容 /// 成功消息 public static ApiResult Success(string msg) { return new ApiResult(HttpStatus.SUCCESS, msg, null); } /// /// 返回成功消息 /// /// 返回内容 /// 返回的数据对象 /// 成功消息 public static ApiResult Success(string msg, object data) { return new ApiResult(HttpStatus.SUCCESS, msg, data); } /// /// 访问被拒 /// public ApiResult On401() { Code = (int)ResultCode.DENY; Msg = "access denyed"; return this; } /// /// 返回失败消息 /// /// 错误码 /// 返回的失败信息 /// public static ApiResult Error(int code, string msg) { return new ApiResult(code, msg); } /// /// 返回失败消息 /// 自定义异常 /// /// 返回的失败信息 /// public static ApiResult Error(string msg) { return new ApiResult((int)ResultCode.CUSTOM_ERROR, msg); } public override string ToString() { return $"msg={Msg},data={Data}"; } } public class ApiResult : ApiResult { public T Result { get; set; } } }