using System.ComponentModel; using System.DirectoryServices.Protocols; namespace QYZH.InteractiveMagazine.Models.Dto; /// /// 操作响应基类 /// public class BaseResponse { /// /// 构造函数,初始化操作响应基类 /// public BaseResponse() { Code = ResultCode.SUCCESS; } #region 公共属性 /// /// 操作描述 /// public string Message { get; set; } /// /// 结果Code /// public ResultCode Code { get; set; } #endregion 公共属性 #region 公用方法 /// /// 成功 /// public static BaseResponse Success() { return new BaseResponse { Code = ResultCode.SUCCESS, Message = "操作成功。" }; } /// /// 成功 /// public static BaseResponse Success(string message = "操作成功。") { return new BaseResponse { Code = ResultCode.SUCCESS, Message = message }; } /// /// 失败 /// public static BaseResponse Fail(string message, ResultCode code = ResultCode.FAIL) { return new BaseResponse { Code = code, Message = message }; } /// /// 权限验证失败 /// public static BaseResponse AuthFail(string message, ResultCode code = ResultCode.FAIL) { return new BaseResponse { Code = code, Message = message }; } #endregion 公用方法 /// /// 操作结果 /// public bool IsSuccess => Code == ResultCode.SUCCESS; } /// /// 响应结果类型 /// /// /// public class BaseResponse : BaseResponse { /// /// 操作结果 /// public T? Result { get; set; } #region 公用方法 /// /// 成功 /// public static BaseResponse Success(T result) { return new BaseResponse { Code = ResultCode.SUCCESS, Message = "", Result = result }; } /// /// 成功 /// public static BaseResponse Success(T result, string message = "操作成功。") { return new BaseResponse { Code = ResultCode.SUCCESS, Message = message, Result = result }; } /// /// 失败 /// public static BaseResponse Fail(string message = "fail") { return new BaseResponse { Code = ResultCode.FAIL, Message = message }; } /// /// 失败 自定义结果 /// public static BaseResponse Fail(ResultCode code, string message = "fail") { return new BaseResponse { Code = code, Message = message }; } public static BaseResponse Fail(T result, string message = "操作失败,请稍后再试") { return new BaseResponse { Code = ResultCode.FAIL, Message = message, Result = result }; } /// /// 权限验证失败 /// public static BaseResponse AuthFail(string message = "Permission authentication failed") { return new BaseResponse { Code = ResultCode.OAUTH_FAIL, Message = message }; } ///// ///// 成功 ///// //public static BaseResponse Assert(T result, string message = "") //{ // if (result is bool b) // return b ? BaseResponse.Success(result) : BaseResponse.Fail(message); // if (result is object o) // return (data == null || data.IsNull() == true) ? BaseResponse.Success(result) : BaseResponse.Fail(message); // return new BaseResponse { Code = ResultCode.SUCCESS, Message = message, Result = result }; //} #endregion 公用方法 /// /// 操作结果 /// public bool IsSuccess => Code == ResultCode.SUCCESS; } public enum ResultCode { [Description("success")] SUCCESS = 200, [Description("没有更多数据")] NO_DATA = 210, [Description("参数错误")] PARAM_ERROR = 101, [Description("验证码错误")] CAPTCHA_ERROR = 103, [Description("登录错误")] LOGIN_ERROR = 105, [Description("操作失败")] FAIL = 1, [Description("服务端出错啦")] GLOBAL_ERROR = 500, [Description("自定义异常")] CUSTOM_ERROR = 110, [Description("非法请求")] INVALID_REQUEST = 116, [Description("授权失败")] OAUTH_FAIL = 201, [Description("请先绑定手机号")] PHONE_BIND = 202, [Description("未授权")] DENY = 401, [Description("授权访问失败")] FORBIDDEN = 403, [Description("Bad Request")] BAD_REQUEST = 400 }