| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | package ssoimport (	operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation"	"gitee.com/xuyiping_admin/pkg/di"	"kpt-tmr-group/config"	redisv7 "github.com/go-redis/redis/v7")var Module = di.Provide(NewSSOClient)type ClientInterface interface {	Auth(userAuth *operationPb.UserAuthData) (string, error)	CacheAuth(token string, res interface{}) error	CacheSetAccount(token string, res interface{}) error	GetAccount(token string) (interface{}, error)	// Permissions(token string) (*Response, error)	// CheckPermission(token, code string) (bool, error)}func NewClientLatest(cfg *config.AppConfig) *redisv7.Client {	return initClientLatest(cfg.RedisSetting.SSOCache.Addr, cfg.RedisSetting.SSOCache.Requirepass, cfg.RedisSetting.SSOCache.DB)}func initClientLatest(addr, password string, db int, opts ...func(*redisv7.Options)) *redisv7.Client {	option := &redisv7.Options{		Addr:       addr,		DB:         db,		Password:   password,		MaxRetries: 3,		OnConnect: func(cn *redisv7.Conn) error {			return cn.ClientSetName("on_connect").Err()		},	}	for _, opt := range opts {		opt(option)	}	return redisv7.NewClient(option)}func NewSSOClient(cfg *config.AppConfig) ClientInterface {	return NewCache(cfg)}
 |