You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
4.0 KiB
C#

namespace HttpClientStudy.WebApp
{
/// <summary>
/// API 返回基类
/// </summary>
public class BaseResult
{
/// <summary>
/// 接口返回代码
/// </summary>
public int Code { get; set; }
/// <summary>
/// <summary>
/// 接口返回说明信息
/// </summary>
public string? Message { get; set; }
/// <summary>
/// 接口返回数据
/// </summary>
public object? Data { get; set; } = string.Empty;
}
/// <summary>
/// API 泛型返回基类
/// </summary>
/// <typeparam name="T"></typeparam>
public class BaseResult<T> : BaseResult
{
public static BaseResult<T> Create(T? data = default, int code = 0, string message = "")
{
return new BaseResult<T> { Data = data, Code = code, Message = message };
}
public new T? Data { get; set; }
}
/// <summary>
/// API返回基类 工具类
/// </summary>
public static class BaseResultUtil
{
public static BaseResult<TData> Create<TData>(TData data, int code = 0, string message = "")
{
return new BaseResult<TData>() { Data = data, Code = code, Message = message };
}
public static BaseResult<TData> Success<TData>()
{
return Success<TData>(default, 1, "成功");
//return new BaseResult<TData>() { Data = default, Code = 1, Message = "成功" };
}
public static BaseResult<TData> Success<TData>(TData data)
{
return new BaseResult<TData>() { Data = data, Code = 1, Message = "成功" };
}
public static BaseResult<TData> Success<TData>(TData data, string message)
{
return new BaseResult<TData>() { Data = data, Code = 1, Message = message };
}
public static BaseResult<TData> Success<TData>(TData data, int code, string message)
{
return new BaseResult<TData>() { Data = data, Code = code, Message = message };
}
public static BaseResult<TData> Error<TData>()
{
return new BaseResult<TData>() { Data = default, Code = 0, Message = "错误" };
}
public static BaseResult<TData> Error<TData>(TData data, string message = "错误")
{
return new BaseResult<TData>() { Data = data, Code = 0, Message = "错误" };
}
public static BaseResult<TData> Error<TData>(TData data, int code = 0, string message = "错误")
{
return new BaseResult<TData>() { Data = data, Code = 0, Message = "错误" };
}
public static BaseResult<TData> Fail<TData>() where TData : class
{
return new BaseResult<TData>() { Data = default, Code = 0, Message = "失败" };
}
public static BaseResult<TData> Fail<TData>(TData data, string message = "失败")
{
return new BaseResult<TData>() { Data = data, Code = 0, Message = "失败" };
}
public static BaseResult<TData> Fail<TData>(TData data, int code = 0, string message = "失败")
{
return new BaseResult<TData>() { Data = data, Code = 0, Message = "失败" };
}
public static BaseResult<TData> Exception<TData>(Exception ex)
{
return new BaseResult<TData>() { Data = default, Code = 0, Message = $"异常:{ex.Message}" };
}
public static BaseResult<TData> Exception<TData>(Exception ex, TData data)
{
return new BaseResult<TData>() { Data = data, Code = 0, Message = $"异常:{ex.Message}" };
}
public static BaseResult<TData> Exception<TData>(Exception ex, TData data, int code = 0)
{
return new BaseResult<TData>() { Data = data, Code = code, Message = $"异常:{ex.Message}" };
}
public static BaseResult<TData> Default<TData>(TData? data = default)
{
return new BaseResult<TData>() { Code = 0, Message = "", Data = data };
}
}
}