File tree Expand file tree Collapse file tree 3 files changed +54
-10
lines changed Expand file tree Collapse file tree 3 files changed +54
-10
lines changed Original file line number Diff line number Diff line change @@ -76,15 +76,7 @@ func (b *BaseApi) Login(c *gin.Context) {
7676
7777// TokenNext 登录以后签发jwt
7878func (b * BaseApi ) TokenNext (c * gin.Context , user system.SysUser ) {
79- j := & utils.JWT {SigningKey : []byte (global .GVA_CONFIG .JWT .SigningKey )} // 唯一签名
80- claims := j .CreateClaims (systemReq.BaseClaims {
81- UUID : user .UUID ,
82- ID : user .ID ,
83- NickName : user .NickName ,
84- Username : user .Username ,
85- AuthorityId : user .AuthorityId ,
86- })
87- token , err := j .CreateToken (claims )
79+ token , claims , err := utils .LoginToken (& user )
8880 if err != nil {
8981 global .GVA_LOG .Error ("获取token失败!" , zap .Error (err ))
9082 response .FailWithMessage ("获取token失败" , c )
@@ -122,7 +114,7 @@ func (b *BaseApi) TokenNext(c *gin.Context, user system.SysUser) {
122114 response .FailWithMessage ("jwt作废失败" , c )
123115 return
124116 }
125- if err := jwtService .SetRedisJWT (token , user .Username ); err != nil {
117+ if err := jwtService .SetRedisJWT (token , user .GetUsername () ); err != nil {
126118 response .FailWithMessage ("设置登录状态失败" , c )
127119 return
128120 }
Original file line number Diff line number Diff line change @@ -5,6 +5,17 @@ import (
55 "github.com/gofrs/uuid/v5"
66)
77
8+ type Login interface {
9+ GetUsername () string
10+ GetNickname () string
11+ GetUUID () uuid.UUID
12+ GetUserId () uint
13+ GetAuthorityId () uint
14+ GetUserInfo () any
15+ }
16+
17+ var _ Login = new (SysUser )
18+
819type SysUser struct {
920 global.GVA_MODEL
1021 UUID uuid.UUID `json:"uuid" gorm:"index;comment:用户UUID"` // 用户UUID
@@ -25,3 +36,27 @@ type SysUser struct {
2536func (SysUser ) TableName () string {
2637 return "sys_users"
2738}
39+
40+ func (s * SysUser ) GetUsername () string {
41+ return s .Username
42+ }
43+
44+ func (s * SysUser ) GetNickname () string {
45+ return s .NickName
46+ }
47+
48+ func (s * SysUser ) GetUUID () uuid.UUID {
49+ return s .UUID
50+ }
51+
52+ func (s * SysUser ) GetUserId () uint {
53+ return s .ID
54+ }
55+
56+ func (s * SysUser ) GetAuthorityId () uint {
57+ return s .AuthorityId
58+ }
59+
60+ func (s * SysUser ) GetUserInfo () any {
61+ return * s
62+ }
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ package utils
22
33import (
44 "github.com/flipped-aurora/gin-vue-admin/server/global"
5+ "github.com/flipped-aurora/gin-vue-admin/server/model/system"
56 systemReq "github.com/flipped-aurora/gin-vue-admin/server/model/system/request"
67 "github.com/gin-gonic/gin"
78 "github.com/gofrs/uuid/v5"
@@ -123,3 +124,19 @@ func GetUserName(c *gin.Context) string {
123124 return waitUse .Username
124125 }
125126}
127+
128+ func LoginToken (user system.Login ) (token string , claims systemReq.CustomClaims , err error ) {
129+ j := & JWT {SigningKey : []byte (global .GVA_CONFIG .JWT .SigningKey )} // 唯一签名
130+ claims = j .CreateClaims (systemReq.BaseClaims {
131+ UUID : user .GetUUID (),
132+ ID : user .GetUserId (),
133+ NickName : user .GetNickname (),
134+ Username : user .GetUsername (),
135+ AuthorityId : user .GetAuthorityId (),
136+ })
137+ token , err = j .CreateToken (claims )
138+ if err != nil {
139+ return
140+ }
141+ return
142+ }
You can’t perform that action at this time.
0 commit comments