提交 eaedb37f 编写于 作者: m0_50812349's avatar m0_50812349

修改错误单词,新增从gin.Context获取用户id,uuid,authority_id的函数

上级 eda49e94
package v1
import (
"errors"
"fmt"
"gin-vue-admin/global"
"gin-vue-admin/global/response"
......@@ -45,13 +46,12 @@ func Login(c *gin.Context) {
} else {
response.FailWithMessage("验证码错误", c)
}
}
// 登录以后签发jwt
func tokenNext(c *gin.Context, user model.SysUser) {
j := &middleware.JWT{SigningKey: []byte(global.GVA_CONFIG.JWT.SigningKey)} // 唯一签名
clams := request.CustomClaims{
claims := request.CustomClaims{
UUID: user.UUID,
ID: user.ID,
NickName: user.NickName,
......@@ -64,7 +64,7 @@ func tokenNext(c *gin.Context, user model.SysUser) {
Issuer: "qmPlus", // 签名的发行者
},
}
token, err := j.CreateToken(clams)
token, err := j.CreateToken(claims)
if err != nil {
response.FailWithMessage("获取token失败", c)
return
......@@ -73,7 +73,7 @@ func tokenNext(c *gin.Context, user model.SysUser) {
response.OkWithData(resp.LoginResponse{
User: user,
Token: token,
ExpiresAt: clams.StandardClaims.ExpiresAt * 1000,
ExpiresAt: claims.StandardClaims.ExpiresAt * 1000,
}, c)
return
}
......@@ -86,7 +86,7 @@ func tokenNext(c *gin.Context, user model.SysUser) {
response.OkWithData(resp.LoginResponse{
User: user,
Token: token,
ExpiresAt: clams.StandardClaims.ExpiresAt * 1000,
ExpiresAt: claims.StandardClaims.ExpiresAt * 1000,
}, c)
} else if err != nil {
response.FailWithMessage(fmt.Sprintf("%v", err), c)
......@@ -104,7 +104,7 @@ func tokenNext(c *gin.Context, user model.SysUser) {
response.OkWithData(resp.LoginResponse{
User: user,
Token: token,
ExpiresAt: clams.StandardClaims.ExpiresAt * 1000,
ExpiresAt: claims.StandardClaims.ExpiresAt * 1000,
}, c)
}
}
......@@ -272,3 +272,36 @@ func SetUserInfo(c *gin.Context) {
}, c)
}
}
// 从Gin的Context中获取从jwt解析出来的用户ID
func getUserID(c *gin.Context) (uint, error) {
if claims, exists := c.Get("claims"); !exists {
global.GVA_LOG.Error("从Gin的Context中获取从jwt解析出来的用户ID失败, 请检查路由是否使用jwt中间件")
return 0, errors.New("解析失败")
} else {
waitUse := claims.(*request.CustomClaims)
return waitUse.ID, nil
}
}
// 从Gin的Context中获取从jwt解析出来的用户UUID
func getUserUuid(c *gin.Context) (string, error) {
if claims, exists := c.Get("claims"); !exists {
global.GVA_LOG.Error("从Gin的Context中获取从jwt解析出来的用户UUID失败, 请检查路由是否使用jwt中间件")
return "", errors.New("解析失败")
} else {
waitUse := claims.(*request.CustomClaims)
return waitUse.UUID.String(), nil
}
}
// 从Gin的Context中获取从jwt解析出来的用户角色id
func getUserAuthorityId(c *gin.Context) (string, error) {
if claims, exists := c.Get("claims"); !exists {
global.GVA_LOG.Error("从Gin的Context中获取从jwt解析出来的用户UUID失败, 请检查路由是否使用jwt中间件")
return "", errors.New("解析失败")
} else {
waitUse := claims.(*request.CustomClaims)
return waitUse.AuthorityId, nil
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册