代码说明
该代码实现了一个基于Redis的登录框架的实现。该框架支持单端登录、多端登录、同端互斥登录、七天内免登录的功能。使用了github.com/go-redis/redis包来操作Redis数据库。代码中包含了详细的类注释和文档,适合对登录框架实现感兴趣的读者阅读。
类结构
// 用户结构体
type User struct {
ID int // 用户 ID
Username string // 用户名
Password string // 密码
}
// 登录请求结构体
type LoginRequest struct {
Username string `json:"username"` // 用户名
Password string `json:"password"` // 密码
}
// 登录响应结构体
type LoginResponse struct {
Token string `json:"token"` // 生成的登录令牌
}
// 登录框架结构体
type LoginFramework struct {
client *redis.Client // Redis 客户端
}
方法说明
// NewLoginFramework 创建一个登录框架的实例
func NewLoginFramework() *LoginFramework {
return &LoginFramework{
client: redis.NewClient(), // 创建新的 Redis 客户端
}
}
// Register 新增用户信息到 Redis 数据库
func (lf *LoginFramework) Register(user User) error {
// 将用户信息以 Hash 的形式保存到 Redis 数据库中
hash := lf.<