You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.7 KiB
52 lines
1.7 KiB
package utils
|
|
|
|
import (
|
|
"gin-vue-admin/global"
|
|
systemReq "gin-vue-admin/model/system/request"
|
|
"github.com/gin-gonic/gin"
|
|
uuid "github.com/satori/go.uuid"
|
|
)
|
|
|
|
// 从Gin的Context中获取从jwt解析出来的用户ID
|
|
func GetUserID(c *gin.Context) uint {
|
|
if claims, exists := c.Get("claims"); !exists {
|
|
global.GVA_LOG.Error("从Gin的Context中获取从jwt解析出来的用户ID失败, 请检查路由是否使用jwt中间件!")
|
|
return 0
|
|
} else {
|
|
waitUse := claims.(*systemReq.CustomClaims)
|
|
return waitUse.ID
|
|
}
|
|
}
|
|
|
|
// 从Gin的Context中获取从jwt解析出来的用户UUID
|
|
func GetUserUuid(c *gin.Context) uuid.UUID {
|
|
if claims, exists := c.Get("claims"); !exists {
|
|
global.GVA_LOG.Error("从Gin的Context中获取从jwt解析出来的用户UUID失败, 请检查路由是否使用jwt中间件!")
|
|
return uuid.UUID{}
|
|
} else {
|
|
waitUse := claims.(*systemReq.CustomClaims)
|
|
return waitUse.UUID
|
|
}
|
|
}
|
|
|
|
// 从Gin的Context中获取从jwt解析出来的用户角色id
|
|
func GetUserAuthorityId(c *gin.Context) string {
|
|
if claims, exists := c.Get("claims"); !exists {
|
|
global.GVA_LOG.Error("从Gin的Context中获取从jwt解析出来的用户UUID失败, 请检查路由是否使用jwt中间件!")
|
|
return ""
|
|
} else {
|
|
waitUse := claims.(*systemReq.CustomClaims)
|
|
return waitUse.AuthorityId
|
|
}
|
|
}
|
|
|
|
// 从Gin的Context中获取从jwt解析出来的用户角色id
|
|
func GetUserInfo(c *gin.Context) *systemReq.CustomClaims {
|
|
if claims, exists := c.Get("claims"); !exists {
|
|
global.GVA_LOG.Error("从Gin的Context中获取从jwt解析出来的用户UUID失败, 请检查路由是否使用jwt中间件!")
|
|
return nil
|
|
} else {
|
|
waitUse := claims.(*systemReq.CustomClaims)
|
|
return waitUse
|
|
}
|
|
}
|