Files
WCS/Cowain.Base/Models/ResultModel.cs
2026-03-02 09:08:20 +08:00

73 lines
1.8 KiB
C#

namespace Cowain.Base.Models;
public class ResultModel<T> where T : notnull
{
private ResultModel(T data, string errorMessage, bool isSuccess, int code)
{
Data = data;
ErrorMessage = errorMessage;
IsSuccess = isSuccess;
Code = code;
}
/// <summary>
/// is request success
/// </summary>
public bool IsSuccess { get; }
/// <summary>
/// status code
/// </summary>
public int Code { get; }
/// <summary>
/// error message
/// </summary>
public string ErrorMessage { get; } = "";
/// <summary>
/// data
/// </summary>
public T Data { get; }
/// <summary>
/// success
/// </summary>
public static ResultModel<T> Success(T data, string errMsg = "")
{
if (data is null)
throw new ArgumentNullException(nameof(data), "Success时data不能为null");
return new ResultModel<T>(data, errMsg, true, 200);
}
/// <summary>
/// faild
/// </summary>
public static ResultModel<T> Error(string str, int code = 400)
{
// 错误时Data用默认值
return new ResultModel<T>(default!, str, false, code);
}
}
public class ResultModel
{
/// <summary>
/// is request success
/// </summary>
public bool IsSuccess { get; set; }
/// <summary>
/// status code
/// </summary>
public int Code { get; set; }
/// <summary>
/// error message
/// </summary>
public string ErrorMessage { get; set; } = "";
public static ResultModel Success(string errMsg = "")
{
return new ResultModel() { ErrorMessage = errMsg, IsSuccess = true, Code = 200 };
}
public static ResultModel Error(string str, int code = 400)
{
var ret = new ResultModel { ErrorMessage = str, IsSuccess = false, Code = code };
return ret;
}
}