package handler import ( "net/http" "time" "git.i2edu.net/i2/go-zero/rest/httpx" "git.i2edu.net/i2/go-zero/rest/token" "git.i2edu.net/i2/i2-bill-api/internal/logic" "git.i2edu.net/i2/i2-bill-api/internal/svc" "git.i2edu.net/i2/i2-bill-api/internal/utils" "github.com/dgrijalva/jwt-go" ) func JzQrCodeHandler(ctx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { l := logic.NewJzQrCodeLogic(r.Context(), ctx) token.NewTokenParser() parser := token.NewTokenParser(token.WithResetDuration(time.Minute)) tok, err := parser.ParseToken(r, ctx.Config.JwtAuth.AccessSecret, "") if err != nil { httpx.OkJson(w, utils.ReturnHTTPFail(err)) } else { res, err := l.JzQrCode(tok.Claims.(jwt.MapClaims)["userId"].(int64)) if err != nil { httpx.OkJson(w, utils.ReturnHTTPFail(err)) } else { httpx.OkJson(w, utils.ReturnHTTPSuccess(res)) } } } }