package common type ErrorCode int const ( CodeSuccess = 200 CodeParamError = 400 CodeUnauthorized = 401 CodeTokenExpired = 4011 CodeForbidden = 403 CodeNotFound = 404 CodeInvalidStatus = 405 CodeDBError = 500 CodeSystemError = 501 CodeTaskNotComplete = 1001 CodeRecordRepeat = 1002 CodeSmsCodeError = 1003 CodeEmailExists = 1004 CodeEmailNotFound = 1005 CodePasswordMismatch = 1006 ) const ( CodeSuccessMsg = "success" CodeParamErrorMsg = "param error" CodeUnauthorizedMsg = "unauthorized" CodeTokenExpiredMsg = "token expired" CodeForbiddenMsg = "forbidden" CodeNotFoundMsg = "not found" CodeInvalidStatusMsg = "invalid status" CodeDBErrorMsg = "database error" CodeSystemErrorMsg = "system error" CodeTaskNotCompleteMsg = "task not complete" CodeRecordRepeatMsg = "record repeat" CodeSmsCodeErrorMsg = "sms code error" CodeEmailExistsMsg = "email already registered" CodeEmailNotFoundMsg = "email not found" CodePasswordMismatchMsg = "password mismatch" ) type BusinessError struct { Code ErrorCode Message string Err error } func (e *BusinessError) Error() string { return e.Message } func NewError(code ErrorCode, message string, err error) *BusinessError { return &BusinessError{ Code: code, Message: message, Err: err, } } // 预定义业务错误 var ( ErrEmailExists = NewError(CodeEmailExists, CodeEmailExistsMsg, nil) ErrEmailNotFound = NewError(CodeEmailNotFound, CodeEmailNotFoundMsg, nil) ErrPasswordMismatch = NewError(CodePasswordMismatch, CodePasswordMismatchMsg, nil) )