初始
This commit is contained in:
51
internal/app/system/logic/token/token.go
Normal file
51
internal/app/system/logic/token/token.go
Normal file
@ -0,0 +1,51 @@
|
||||
/*
|
||||
* @desc:token功能
|
||||
* @company:云南奇讯科技有限公司
|
||||
* @Author: yixiaohu<yxh669@qq.com>
|
||||
* @Date: 2022/9/27 17:01
|
||||
*/
|
||||
|
||||
package token
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/gctx"
|
||||
"github.com/tiger1103/gfast-token/gftoken"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/common/consts"
|
||||
commonModel "github.com/tiger1103/gfast/v3/internal/app/common/model"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/service"
|
||||
"github.com/tiger1103/gfast/v3/library/liberr"
|
||||
)
|
||||
|
||||
type sToken struct {
|
||||
*gftoken.GfToken
|
||||
}
|
||||
|
||||
func New() *sToken {
|
||||
var (
|
||||
ctx = gctx.New()
|
||||
opt *commonModel.TokenOptions
|
||||
err = g.Cfg().MustGet(ctx, "gfToken").Struct(&opt)
|
||||
fun gftoken.OptionFunc
|
||||
)
|
||||
liberr.ErrIsNil(ctx, err)
|
||||
if opt.CacheModel == consts.CacheModelRedis {
|
||||
fun = gftoken.WithGRedis()
|
||||
} else {
|
||||
fun = gftoken.WithGCache()
|
||||
}
|
||||
return &sToken{
|
||||
GfToken: gftoken.NewGfToken(
|
||||
gftoken.WithCacheKey(opt.CacheKey),
|
||||
gftoken.WithTimeout(opt.Timeout),
|
||||
gftoken.WithMaxRefresh(opt.MaxRefresh),
|
||||
gftoken.WithMultiLogin(opt.MultiLogin),
|
||||
gftoken.WithExcludePaths(opt.ExcludePaths),
|
||||
fun,
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
func init() {
|
||||
service.RegisterGToken(New())
|
||||
}
|
Reference in New Issue
Block a user