package errors import ( "errors" "fmt" ) var ( // 用户相关错误 ErrUserNotFound = errors.New("用户不存在") ErrUsernameExists = errors.New("用户名已存在") ErrEmailExists = errors.New("邮箱已存在") ErrPhoneExists = errors.New("手机号已存在") ErrInvalidCredentials = errors.New("用户名或密码错误") ErrAccountLocked = errors.New("账号已被锁定") ErrAccountDisabled = errors.New("账号已被禁用") ErrInvalidOldPassword = errors.New("原密码错误") // 角色相关错误 ErrRoleNotFound = errors.New("角色不存在") ErrRoleCodeExists = errors.New("角色代码已存在") ErrCannotModifySystemRole = errors.New("不能修改系统角色") ErrCannotDeleteSystemRole = errors.New("不能删除系统角色") ErrRoleInUse = errors.New("角色正在使用中") // 权限相关错误 ErrPermissionNotFound = errors.New("权限不存在") ErrPermissionCodeExists = errors.New("权限代码已存在") // 通用错误 ErrInvalidParams = errors.New("参数错误") ErrUnauthorized = errors.New("未授权") ErrForbidden = errors.New("无权限") ErrInternalServerError = errors.New("服务器内部错误") ) // NewError 创建新错误 func NewError(msg string) error { return errors.New(msg) } // WrapError 包装错误 func WrapError(err error, msg string) error { if err == nil { return nil } return fmt.Errorf("%s: %w", msg, err) }