code.go 761 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package codes
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "github.com/go-kratos/kratos/v2/errors"
  6. )
  7. func Error(code int, msg string) error {
  8. e := errors.New(400, "", msg)
  9. e = e.WithMetadata(map[string]string{
  10. "code": fmt.Sprint(code),
  11. })
  12. return e
  13. }
  14. func ErrorData(code int, msg string, data interface{}) error {
  15. j, _ := json.Marshal(data)
  16. e := errors.New(400, string(j), msg)
  17. e = e.WithMetadata(map[string]string{
  18. "code": fmt.Sprint(code),
  19. })
  20. return e
  21. }
  22. func CommonError(err error) error {
  23. se := errors.FromError(err)
  24. if se == nil {
  25. return Error(10400, err.Error())
  26. }
  27. return se
  28. }
  29. func SystemErr(msg string) error {
  30. return Error(10500, msg)
  31. }
  32. //Customize 自定义返回值. 如自己重定向
  33. func Customize() error {
  34. return Error(1000, "")
  35. }