package utils import ( "aps_crm/model/request" "aps_crm/pkg/logx" "github.com/gin-gonic/gin" "strings" ) func GetClaims(c *gin.Context) (*request.CustomClaims, error) { token := c.Request.Header.Get("Authorization") logx.Infof("GetClaims token:%v", token) slices := strings.Split(token, " ") if len(slices) == 2 { token = slices[1] } j := NewJWT() claims, err := j.ParseToken(token) if err != nil { logx.Error("从Gin的Context中获取从jwt解析信息失败, 请检查请求头是否存在x-token且claims是否为规定结构") } return claims, err } func GetUserID(c *gin.Context) int { if claims, exists := c.Get("claims"); exists { waitUse := claims.(*request.CustomClaims) return waitUse.CrmUserId } return 0 } func GetUserInfo(c *gin.Context) *request.CustomClaims { if claims, exists := c.Get("claims"); exists { waitUse := claims.(*request.CustomClaims) return waitUse } return nil }