CSharp-Single-EFCore/Bunny.Dao/Result/Enum/ResultCodeEnum.cs

50 lines
1.5 KiB
C#

using System.ComponentModel;
namespace Bunny.Dao.Result.Enum;
/// <summary>
/// 返回结果状态码枚举
/// </summary>
public enum ResultCodeEnum
{
// 成功操作 200
[Description("操作成功")] Success = 200,
// 验证错误 201
[Description("账号或密码错误")] LoginError = 201,
// 数据相关 206
[Description("非法请求")] IllegalRequest = 206,
// 身份过期 208
[Description("请先登陆")] LoginAuth = 206,
[Description("身份验证过期")] AuthenticationExpired = 207,
[Description("会话过期")] SessionExpiration = 208,
[Description("该账户被封禁")] FailNoAccessDeniedUserLocked = 209,
// 提示错误
[Description("URL编码失败")] UrlEncodeError = 216,
[Description("非法回调请求")] IllegalCallbackRequestError = 217,
[Description("获取用户信息失败")] FetchUserinfoError = 219,
// 无权访问 403
[Description("无权访问")] FailNoAccessDenied = 403,
// 系统错误 500
[Description("请求失败")] Error = 500
}
/// <summary>
/// 自定义属性
/// </summary>
public static class ResultCodeExtensions
{
public static string GetDescription(this ResultCodeEnum eCodeEnum)
{
var fieldInfo = eCodeEnum.GetType().GetField(eCodeEnum.ToString());
if (fieldInfo == null) return string.Empty;
var attributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
return attributes.Length > 0 ? attributes[0].Description : eCodeEnum.ToString();
}
}