package api import "errors" // API调用相关错误类型 var ( ErrQueryEmpty = errors.New("查询为空") ErrSystem = errors.New("接口异常") ErrDecryptFail = errors.New("解密失败") ErrRequestParam = errors.New("请求参数结构不正确") ErrInvalidParam = errors.New("参数校验不正确") ErrInvalidIP = errors.New("未经授权的IP") ErrMissingAccessId = errors.New("缺少Access-Id") ErrInvalidAccessId = errors.New("未经授权的AccessId") ErrFrozenAccount = errors.New("账户已冻结") ErrArrears = errors.New("账户余额不足,无法请求") ErrInsufficientBalance = errors.New("钱包余额不足") ErrProductNotFound = errors.New("产品不存在") ErrProductDisabled = errors.New("产品已停用") ErrNotSubscribed = errors.New("未订阅此产品") ErrProductNotSubscribed = errors.New("未订阅此产品") ErrSubscriptionExpired = errors.New("订阅已过期") ErrSubscriptionSuspended = errors.New("订阅已暂停") ErrBusiness = errors.New("业务失败") ) // 错误码映射 - 严格按照用户要求 var ErrorCodeMap = map[error]int{ ErrQueryEmpty: 1000, ErrSystem: 1001, ErrDecryptFail: 1002, ErrRequestParam: 1003, ErrInvalidParam: 1003, ErrInvalidIP: 1004, ErrMissingAccessId: 1005, ErrInvalidAccessId: 1006, ErrFrozenAccount: 1007, ErrArrears: 1007, ErrInsufficientBalance: 1007, ErrProductNotFound: 1008, ErrProductDisabled: 1008, ErrNotSubscribed: 1008, ErrProductNotSubscribed: 1008, ErrSubscriptionExpired: 1008, ErrSubscriptionSuspended: 1008, ErrBusiness: 2001, } // GetErrorCode 获取错误对应的错误码 func GetErrorCode(err error) int { if code, exists := ErrorCodeMap[err]; exists { return code } return 1001 // 默认返回接口异常 } // GetErrorMessage 获取错误对应的错误消息 func GetErrorMessage(err error) string { // 直接返回预定义的错误消息 return err.Error() }