diff --git a/common/errorx/errorx.go b/common/errorx/errorx.go index fa7309d..c66eea2 100644 --- a/common/errorx/errorx.go +++ b/common/errorx/errorx.go @@ -1,6 +1,8 @@ package errorx -import "gofiber.study.skcks.cn/common/response" +import ( + "gofiber.study.skcks.cn/common/response" +) type CodeError struct { *response.Response @@ -22,6 +24,14 @@ func NewErrorWithCode(code int, msg string) error { } } +func ParseError(err error) error { + if err != nil { + return NewErrorWithCode(response.ERROR, err.Error()) + } + + return nil +} + func NewDefaultError(msg string) error { return NewErrorWithCode(response.ERROR, msg) } diff --git a/controller/test/test.go b/controller/test/test.go index 382ad99..7e76f57 100644 --- a/controller/test/test.go +++ b/controller/test/test.go @@ -29,13 +29,14 @@ func jwtEncode(r fiber.Router) { claims := global.UserClaims{} err := ctx.BodyParser(&claims) - if err != nil { - return ctx.JSON(errorx.NewDefaultError(err.Error())) + if err = errorx.ParseError(err); err != nil { + return ctx.JSON(err) } token, err := global.GetToken(claims) - if err != nil { - return ctx.JSON(errorx.NewDefaultError(err.Error())) + + if err = errorx.ParseError(err); err != nil { + return ctx.JSON(err) } return ctx.JSON(response.NewResponse(token)) @@ -56,10 +57,10 @@ func jwtEncode(r fiber.Router) { func jwtDecode(r fiber.Router) { r.Add(fiber.MethodGet, "/jwt", func(ctx *fiber.Ctx) error { token := ctx.Query("token") - claims, err := global.ParseToken(token) - if err != nil { - return ctx.JSON(errorx.NewDefaultError(err.Error())) + + if err = errorx.ParseError(err); err != nil { + return ctx.JSON(err) } return ctx.JSON(response.NewResponse(claims))