Files
bl/cool/ctx.go
2025-06-20 17:13:51 +08:00

38 lines
915 B
Go

package cool
import (
"context"
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/frame/g"
"github.com/golang-jwt/jwt/v4"
)
type Claims struct {
IsRefresh bool `json:"isRefresh"`
RoleIds []string `json:"roleIds"`
Username string `json:"username"`
UserId uint `json:"userId"`
PasswordVersion *int32 `json:"passwordVersion"`
jwt.RegisteredClaims
}
type Admin struct {
IsRefresh bool `json:"isRefresh"`
RoleIds []string `json:"roleIds"`
Username string `json:"username"`
UserId uint `json:"userId"`
PasswordVersion *int32 `json:"passwordVersion"`
}
// 获取传入ctx 中的 admin 对象
func GetAdmin(ctx context.Context) *Admin {
r := g.RequestFromCtx(ctx)
admin := &Admin{}
err := gjson.New(r.GetCtxVar("admin").String()).Scan(admin)
if err != nil {
g.Log().Error(ctx, err)
}
return admin
}