Files
Yi.Admin/Yi.Framework.Net6/Yi.Framework.Common/Models/Result.cs

110 lines
3.2 KiB
C#
Raw Normal View History

2022-04-02 17:44:50 +08:00
using Microsoft.Extensions.Localization;
using Yi.Framework.Common.Models.Enum;
using Yi.Framework.Language;
2021-10-10 17:30:31 +08:00
namespace Yi.Framework.Common.Models
{
public class Result
{
2022-04-02 17:44:50 +08:00
public static IStringLocalizer<LocalLanguage> _local;
public ResultCode code { get; set; }
2021-10-10 17:30:31 +08:00
public bool status { get; set; }
2022-04-02 17:44:50 +08:00
public string message { get; set; }
2021-10-10 17:30:31 +08:00
public object data { get; set; }
2022-04-02 17:44:50 +08:00
public static Result Expire(ResultCode code, string msg="")
2021-10-10 17:30:31 +08:00
{
2022-04-02 17:44:50 +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
{
2022-04-02 17:44:50 +08:00
return new Result() { code = ResultCode.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
{
2022-04-02 17:44:50 +08:00
return new Result() { code = ResultCode.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
{
2022-04-02 17:44:50 +08:00
return new Result() { code = ResultCode.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 = "")
{
return new Result() { code = ResultCode.NoPermission,status=false, message = Get(msg, "unAuthorize") };
}
public Result SetStatus(bool _status)
{
2022-05-01 18:31:06 +08:00
if (_status)
{
this.message = "操作成功";
}
else
{
this.message = "操作失败";
}
2022-04-02 17:44:50 +08:00
this.status = _status;
return this;
}
2021-10-10 17:30:31 +08:00
public Result SetData(object obj)
{
this.data = obj;
return this;
}
2022-04-02 17:44:50 +08:00
public Result SetCode(ResultCode Code)
2021-10-10 17:30:31 +08:00
{
this.code = Code;
return this;
}
2022-04-02 17:44:50 +08:00
public Result StatusFalse()
{
this.status = false;
return this;
}
public Result StatusTrue()
{
this.status = true;
return this;
}
public static string Get(string msg,string msg2)
{
if (msg=="")
{
msg = _local[msg2];
}
return msg;
}
2021-10-10 17:30:31 +08:00
}
public class Result<T>
{
2022-04-02 17:44:50 +08:00
public ResultCode code { get; set; }
public string message { get; set; }
2021-10-10 17:30:31 +08:00
public T data { get; set; }
public static Result<T> Error(string msg = "fail")
{
2022-04-02 17:44:50 +08:00
return new Result<T>() { code = ResultCode.NotSuccess, message = msg };
2021-10-10 17:30:31 +08:00
}
public static Result<T> Success(string msg = "succeed")
{
2022-04-02 17:44:50 +08:00
return new Result<T>() { code = ResultCode.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")
{
2022-04-02 17:44:50 +08:00
return new Result<T>() { code = ResultCode.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)
{
this.data = TValue;
return this;
}
2022-04-02 17:44:50 +08:00
public Result<T> SetCode(ResultCode Code)
{
this.code = Code;
return this;
}
}
2021-10-10 17:30:31 +08:00
}