snippet/redis2/user-redis.go

42 lines
808 B
Go
Raw Permalink Normal View History

2023-12-13 08:47:46 +00:00
package redis
import (
"encoding/json"
"errors"
"time"
"github.com/sirupsen/logrus"
"myschools.me/suguo/intelligent-community/model"
)
// 存储用户的Token
func UserTokenSet(key *string, usr *model.User) error {
err := Set(*key, usr, 7210*time.Second)
if err != nil {
logrus.WithFields(logrus.Fields{
"func": "UserTokenSet",
}).Warnf("Set: %s", err.Error())
return err
}
return nil
}
// 从redis中获取用户信息最佳实践经验建议把此代码放service层
func UserTokenGet(token *string) (*model.User, error) {
b, err := GetBytes(token)
if err != nil {
return nil, err
}
if b == nil {
return nil, errors.New("无效token,请重新登录!")
}
var user *model.User
if err := json.Unmarshal(*b, user); err != nil {
return nil, err
}
return user, nil
}