LFlow/LFlow.Base/Utils/ApiResult.cs

80 lines
1.8 KiB
C#

namespace LFlow.Base.Utils;
/// <summary>
/// 返回结果包装
/// </summary>
/// <typeparam name="T"></typeparam>
[Serializable]
public class ApiResult<T> where T : class, new()
{
/// <summary>
/// 数据
/// </summary>
public T? Data
{
get; set;
}
/// <summary>
/// 构造函数
/// </summary>
public ApiResult()
{
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="success"></param>
/// <param name="message"></param>
/// <param name="code"></param>
/// <param name="data"></param>
public ApiResult(bool success, string message, int code, T? data)
{
Success = success;
Message = message;
Code = code;
Data = data;
}
/// <summary>
/// 是否成功
/// </summary>
public bool Success
{
get; set;
}
/// <summary>
/// 消息
/// </summary>
public string? Message
{
get; set;
}
/// <summary>
/// 状态码
/// </summary>
public int? Code
{
get; set;
}
/// <summary>
/// 成功返回
/// </summary>
/// <param name="data"></param>
/// <param name="message"></param>
/// <param name="code"></param>
/// <returns></returns>
public static ApiResult<T> SuccessResult(T? data, string message = "操作成功", int code = 200)
{
return new ApiResult<T>(true, message, code, data);
}
/// <summary>
/// 失败返回
/// </summary>
/// <param name="message"></param>
/// <param name="code"></param>
/// <returns></returns>
public static ApiResult<T> FailResult(string message = "操作失败", int code = 500)
{
return new ApiResult<T>(false, message, code, default);
}
}