gin.go 1022 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package utils
  2. import (
  3. "errors"
  4. "mtp20access/model/common/request"
  5. "mtp20access/model/common/response"
  6. "github.com/gin-gonic/gin"
  7. )
  8. type GinUtils struct {
  9. C *gin.Context
  10. Err error
  11. }
  12. // BindFormReq 绑定Form入参的方法
  13. func (r *GinUtils) BindFormReq(req interface{}) {
  14. if r.Err != nil {
  15. return
  16. }
  17. if r.Err = r.C.ShouldBind(&req); r.Err != nil {
  18. response.FailWithMessage("入参不正确", r.C)
  19. return
  20. }
  21. }
  22. // BindJsonReq 绑定Body入参的方法
  23. func (r *GinUtils) BindJsonReq(req interface{}) {
  24. if r.Err != nil {
  25. return
  26. }
  27. if r.Err = r.C.ShouldBindJSON(&req); r.Err != nil {
  28. response.FailWithMessage("入参不正确", r.C)
  29. return
  30. }
  31. }
  32. func (r *GinUtils) GetClaims() (claims *request.CustomClaims) {
  33. if r.Err != nil {
  34. return
  35. }
  36. // 获取请求账号信息
  37. s, exists := r.C.Get("claims")
  38. if !exists {
  39. r.Err = errors.New("获取请求账号信息异常")
  40. response.FailWithMessage("获取请求账号信息异常", r.C)
  41. return
  42. }
  43. claims = s.(*request.CustomClaims)
  44. return
  45. }