getuserhandler.go 977 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package handler
  2. import (
  3. "net/http"
  4. "time"
  5. "git.i2edu.net/i2/i2-bill-api/internal/logic"
  6. "git.i2edu.net/i2/i2-bill-api/internal/svc"
  7. "git.i2edu.net/i2/i2-bill-api/internal/types"
  8. "github.com/dgrijalva/jwt-go"
  9. "git.i2edu.net/i2/go-zero/core/logx"
  10. "git.i2edu.net/i2/go-zero/rest/httpx"
  11. "git.i2edu.net/i2/go-zero/rest/token"
  12. )
  13. func GetUserHandler(ctx *svc.ServiceContext) http.HandlerFunc {
  14. return func(w http.ResponseWriter, r *http.Request) {
  15. var req types.Request
  16. if err := httpx.Parse(r, &req); err != nil {
  17. httpx.OkJson(w, err)
  18. return
  19. }
  20. token.NewTokenParser()
  21. parser := token.NewTokenParser(token.WithResetDuration(time.Minute))
  22. tok, err := parser.ParseToken(r, ctx.Config.JwtAuth.AccessSecret, "")
  23. // user_id
  24. logx.Info(tok.Claims.(jwt.MapClaims)["user_id"])
  25. logx.Info(err)
  26. l := logic.NewGetUserLogic(r.Context(), ctx)
  27. resp, err := l.GetUser(req)
  28. if err != nil {
  29. httpx.Error(w, err)
  30. } else {
  31. httpx.OkJson(w, resp)
  32. }
  33. }
  34. }