Files

115 lines
3.4 KiB
C#
Raw Permalink Normal View History

2022-04-02 17:44:50 +08:00
using Microsoft.Extensions.Localization;
using Yi.Framework.Common.Enum;
2022-04-02 17:44:50 +08:00
using Yi.Framework.Language;
2021-10-10 17:30:31 +08:00
namespace Yi.Framework.Common.Models
{
public class Result
{
2023-01-06 10:15:37 +08:00
public static IStringLocalizer<LocalLanguage>? _local;
2023-01-01 23:51:05 +08:00
public ResultCodeEnum Code { get; set; }
2022-04-02 17:44:50 +08:00
2023-01-01 23:51:05 +08:00
public bool Status { get; set; }
2023-01-06 10:15:37 +08:00
public string? Message { get; set; }
public object? Data { get; set; }
2023-01-01 23:51:05 +08:00
public static Result Expire(ResultCodeEnum Code, string msg="")
2021-10-10 17:30:31 +08:00
{
2023-01-01 23:51:05 +08:00
return new Result() { Code = Code, Status=false, Message = Get(msg, "token_expiration") };
2021-10-10 17:30:31 +08:00
}
2022-04-02 17:44:50 +08:00
public static Result Error(string msg = "")
2021-10-10 17:30:31 +08:00
{
2023-01-01 23:51:05 +08:00
return new Result() { Code = ResultCodeEnum.NotSuccess, Status = false, Message = Get(msg, "fail") };
2021-10-10 17:30:31 +08:00
}
2022-04-02 17:44:50 +08:00
public static Result Success(string msg = "")
2021-10-10 17:30:31 +08:00
{
2023-01-01 23:51:05 +08:00
return new Result() { Code = ResultCodeEnum.Success, Status = true, Message = Get( msg, "succeed" )};
2021-10-10 17:30:31 +08:00
}
2022-04-02 17:44:50 +08:00
public static Result SuccessError(string msg = "")
2021-10-17 18:37:07 +08:00
{
2023-01-01 23:51:05 +08:00
return new Result() { Code = ResultCodeEnum.Success, Status = false, Message = Get(msg, "fail") };
2021-10-17 18:37:07 +08:00
}
2022-04-02 17:44:50 +08:00
public static Result UnAuthorize(string msg = "")
{
2023-01-01 23:51:05 +08:00
return new Result() { Code = ResultCodeEnum.NoPermission, Status = false, Message = Get(msg, "unAuthorize") };
2022-04-02 17:44:50 +08:00
}
2023-01-01 23:51:05 +08:00
public Result SetStatus(bool _Status)
2022-04-02 17:44:50 +08:00
{
2023-01-01 23:51:05 +08:00
if (_Status)
2022-05-01 18:31:06 +08:00
{
2023-01-01 23:51:05 +08:00
this.Code = ResultCodeEnum.Success;
this.Message = "操作成功";
2022-05-01 18:31:06 +08:00
}
else
{
2023-01-01 23:51:05 +08:00
this.Code = ResultCodeEnum.NotSuccess;
this.Message = "操作失败";
2022-05-01 18:31:06 +08:00
}
2023-01-01 23:51:05 +08:00
this.Status = _Status;
2022-04-02 17:44:50 +08:00
return this;
}
2023-01-06 10:15:37 +08:00
public Result SetData(object? obj)
2021-10-10 17:30:31 +08:00
{
2023-01-01 23:51:05 +08:00
this.Data = obj;
2021-10-10 17:30:31 +08:00
return this;
}
public Result SetCode(ResultCodeEnum Code)
2021-10-10 17:30:31 +08:00
{
2023-01-01 23:51:05 +08:00
this.Code = Code;
2021-10-10 17:30:31 +08:00
return this;
}
2022-04-02 17:44:50 +08:00
public Result StatusFalse()
{
2023-01-01 23:51:05 +08:00
this.Status = false;
2022-04-02 17:44:50 +08:00
return this;
}
public Result StatusTrue()
{
2023-01-01 23:51:05 +08:00
this.Status = true;
2022-04-02 17:44:50 +08:00
return this;
}
public static string Get(string msg,string msg2)
{
if (msg=="")
{
2023-01-06 10:15:37 +08:00
if (_local is not null)
{
msg = _local[msg2];
}
2022-04-02 17:44:50 +08:00
}
return msg;
}
2021-10-10 17:30:31 +08:00
}
public class Result<T>
{
2023-01-01 23:51:05 +08:00
public ResultCodeEnum Code { get; set; }
2023-01-06 10:15:37 +08:00
public string? Message { get; set; }
public T? Data { get; set; }
2021-10-10 17:30:31 +08:00
public static Result<T> Error(string msg = "fail")
{
2023-01-01 23:51:05 +08:00
return new Result<T>() { Code = ResultCodeEnum.NotSuccess, Message = msg };
2021-10-10 17:30:31 +08:00
}
public static Result<T> Success(string msg = "succeed")
{
2023-01-01 23:51:05 +08:00
return new Result<T>() { Code = ResultCodeEnum.Success, Message = msg };
2021-10-10 17:30:31 +08:00
}
2021-10-17 18:37:07 +08:00
public static Result<T> UnAuthorize(string msg = "unAuthorize")
{
2023-01-01 23:51:05 +08:00
return new Result<T>() { Code = ResultCodeEnum.NoPermission, Message = msg };
2021-10-17 18:37:07 +08:00
}
2021-10-10 17:30:31 +08:00
public Result<T> SetData(T TValue)
{
2023-01-01 23:51:05 +08:00
this.Data = TValue;
2021-10-10 17:30:31 +08:00
return this;
}
public Result<T> SetCode(ResultCodeEnum Code)
2022-04-02 17:44:50 +08:00
{
2023-01-01 23:51:05 +08:00
this.Code = Code;
2022-04-02 17:44:50 +08:00
return this;
}
}
2021-10-10 17:30:31 +08:00
}