package errcode import "fmt" var ( AuthNotFound = &BusinessErr{code: AuthErr, message: "账号不存在"} AuthStatusFreeze = &BusinessErr{code: AuthErr, message: "账号冻结"} AuthStatusDel = &BusinessErr{code: AuthErr, message: "身份验证失败"} AuthStatusPwdFail = &BusinessErr{code: AuthErr, message: "密码错误"} AuthTokenCreateFail = &BusinessErr{code: AuthErr, message: "token生成失败"} AuthTokenDelFail = &BusinessErr{code: AuthErr, message: "删除token失败"} AuthWxLoginFail = &BusinessErr{code: AuthErr, message: "微信登录失败,请稍后重试"} AuthInfoFail = &BusinessErr{code: AuthErr, message: "登录异常,请重新登录"} TokenNotFound = &BusinessErr{code: TokenErr, message: "缺少 Authorization Header"} TokenFormatErr = &BusinessErr{code: TokenErr, message: "无效的token格式"} TokenInfoNotFound = &BusinessErr{code: TokenErr, message: "未找到用户信息"} TokenInvalid = &BusinessErr{code: TokenErr, message: "token过期"} PlatsNotFound = &BusinessErr{code: NotFoundErr, message: "信息未找到"} BadRequest = &BusinessErr{code: BadReqErr, message: "操作失败"} ForbiddenError = &BusinessErr{code: ForbiddenErr, message: "权限不足"} Success = &BusinessErr{code: 200, message: "成功"} ParamError = &BusinessErr{code: ParamsErr, message: "参数错误"} SystemError = &BusinessErr{code: 405, message: "系统错误"} ClientNotFound = &BusinessErr{code: 406, message: "未找到client_id"} SessionNotFound = &BusinessErr{code: 407, message: "未找到会话信息"} UserNotFound = &BusinessErr{code: NotFoundErr, message: "不存在的用户"} KeyNotFound = &BusinessErr{code: 409, message: "身份验证失败"} SysNotFound = &BusinessErr{code: 410, message: "未找到系统信息"} SysCodeNotFound = &BusinessErr{code: 411, message: "未找到系统编码"} InvalidParam = &BusinessErr{code: InvalidParamCode, message: "无效参数"} WorkflowError = &BusinessErr{code: 501, message: "工作流过程错误"} ClientInfoNotFound = &BusinessErr{code: NotFoundErr, message: "用户信息未找到"} ) const ( InvalidParamCode = 408 AuthErr = 403 TokenErr = 401 ParamsErr = 422 BadReqErr = 400 NotFoundErr = 404 ForbiddenErr = 403 BalanceNotEnoughCode = 402 ) type BusinessErr struct { code int message string } func (e *BusinessErr) Error() string { return e.message } func (e *BusinessErr) Code() int { return e.code } func NotFound(message string) *BusinessErr { return &BusinessErr{code: NotFoundErr, message: PlatsNotFound.message + ":" + message} } func (e *BusinessErr) Is(target error) bool { _, ok := target.(*BusinessErr) return ok } // CustomErr 自定义错误 func NewBusinessErr(code int, message string) *BusinessErr { return &BusinessErr{code: code, message: message} } func SysErrf(message string, arg ...any) *BusinessErr { return &BusinessErr{code: SystemError.code, message: fmt.Sprintf(message, arg)} } func SysErr(message string) *BusinessErr { return &BusinessErr{code: SystemError.code, message: message} } func ParamErrf(message string, arg ...any) *BusinessErr { return &BusinessErr{code: ParamError.code, message: fmt.Sprintf(message, arg)} } func ParamErr(message string) *BusinessErr { return &BusinessErr{code: ParamError.code, message: ParamError.message + ":" + message} } func SqlErr(err error) *BusinessErr { return &BusinessErr{code: ParamError.code, message: "数据操作失败,请联系管理员处理:" + err.Error()} } func BadReq(message string) *BusinessErr { return &BusinessErr{code: BadReqErr, message: BadRequest.message + ":" + message} } func Forbidden(message string) *BusinessErr { return &BusinessErr{code: ForbiddenErr, message: ForbiddenError.message + ":" + message} } func (e *BusinessErr) Wrap(err error) *BusinessErr { return NewBusinessErr(e.code, err.Error()) } func BalanceNotEnoughErr(message string) *BusinessErr { return NewBusinessErr(BalanceNotEnoughCode, message) }