exc_enums.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package exception
  2. import stringUtils "eta_mini_ht_api/common/utils/string"
  3. type EtaError struct {
  4. ErrorCode int
  5. ErrorMsg string
  6. }
  7. func (e *EtaError) Error() string {
  8. return e.ErrorMsg
  9. }
  10. const (
  11. // SysErrCode 系统错误
  12. SysErrCode int = iota + 10000 // iota 自动递增,从 1 开始
  13. UnknownError
  14. Unauthorized
  15. // SMSErrCode BIZErrCode 业务错误
  16. SMSErrCode int = iota + 20000 // iota 自动递增,从 1 开始
  17. //短信
  18. IllegalCodeLength
  19. IllegalPhoneNumber
  20. SMSCodeGenerateFailed
  21. SendingSMSFailed
  22. SMSCodeAlreadySent
  23. SMSCodeExpired
  24. SMSCodeError
  25. // UserErrCode 用户
  26. UserErrCode int = iota + 30000 // iota 自动递增,从 1 开始
  27. TemplateUserNotFound
  28. TemplateUserCreateFailed
  29. GenerateTokenFailed
  30. JWTTokenDecodeFailed
  31. JWTTokenExpired
  32. JWTTokenInvalid
  33. // WechatErrCode 微信
  34. WechatErrCode int = iota + 40000 // iota 自动递增,从 1 开始
  35. WeChatServerError
  36. WeChatResponseError
  37. WechatUserInfoFailed
  38. WeChatCodeEmpty
  39. WeChatIllegalRequest
  40. )
  41. // ErrorMap 用于存储错误码和错误信息的映射
  42. var ErrorMap = map[int]string{
  43. UnknownError: "未知错误",
  44. Unauthorized: "用户未授权",
  45. IllegalCodeLength: "无效的验证码位数设置",
  46. IllegalPhoneNumber: "无效的手机号码",
  47. SMSCodeGenerateFailed: "生成手机验证码失败",
  48. SendingSMSFailed: "发送手机验证码失败",
  49. SMSCodeAlreadySent: "当前手机验证码已发送,请稍后再试",
  50. SMSCodeExpired: "验证码已过期",
  51. SMSCodeError: "验证码错误",
  52. //用户
  53. TemplateUserNotFound: "临时用户记录不存在",
  54. TemplateUserCreateFailed: "创建临时用户失败",
  55. GenerateTokenFailed: "创建token失败",
  56. JWTTokenDecodeFailed: "token解析失败",
  57. JWTTokenExpired: "token已过期",
  58. JWTTokenInvalid: "token无效",
  59. //微信
  60. WeChatServerError: "微信服务器发生错误",
  61. WechatUserInfoFailed: "获取微信用户信息失败",
  62. WeChatResponseError: "解析微信响应数据失败",
  63. WeChatCodeEmpty: "微信获取用户信息,code不能为空",
  64. WeChatIllegalRequest: "不合法的微信请求",
  65. }
  66. func Equals(code int, message string) bool {
  67. if stringUtils.IsEmptyOrNil(message) {
  68. return false
  69. }
  70. return ErrorMap[code] == message
  71. }
  72. func GetMsg(code int) string {
  73. return ErrorMap[code]
  74. }
  75. func newException(code int, msg string) error {
  76. return &EtaError{
  77. ErrorCode: code,
  78. ErrorMsg: msg,
  79. }
  80. }
  81. func New(code int) *EtaError {
  82. err := ErrorMap[code]
  83. if stringUtils.IsBlank(err) {
  84. return newException(UnknownError, ErrorMap[UnknownError]).(*EtaError)
  85. }
  86. return newException(code, err).(*EtaError)
  87. }