error.go 575 B

12345678910111213141516171819202122232425
  1. package util
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. )
  6. // CommonError 微信返回的通用错误json
  7. type CommonError struct {
  8. ErrCode int64 `json:"errcode"`
  9. ErrMsg string `json:"errmsg"`
  10. }
  11. // DecodeWithCommonError 将返回值按照CommonError解析
  12. func DecodeWithCommonError(response []byte, apiName string) (err error) {
  13. var commError CommonError
  14. err = json.Unmarshal(response, &commError)
  15. if err != nil {
  16. return
  17. }
  18. if commError.ErrCode != 0 {
  19. return fmt.Errorf("%s Error , errcode=%d , errmsg=%s", apiName, commError.ErrCode, commError.ErrMsg)
  20. }
  21. return nil
  22. }