picgo/corelib/captcha/store.go

47 lines
1.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package captcha
import (
"context"
"picgo/corelib"
"time"
)
// Store 存储验证码接口
type Store interface {
// SetCode cid 当前id
// oid 旧id
// code 验证码
// expired 过期时间(毫秒)
// return nil/error
SetCode(cid string, oid string, code string, expired int)
// GetCode cid 当前id
// return code
GetCode(cid string) string
}
// SetCode 验证码保存到redis
func SetCode(cid string, code string, expired int64) (err error) {
ctx := context.Background()
cid = genRedisKey(cid)
if err = corelib.RdbClient.Set(ctx, cid, code, time.Duration(expired)*time.Second).Err(); err != nil {
return
}
return
}
// GetCode 从redis中查询验证码查询之后删除
func GetCode(cid string) (code string, err error) {
ctx := context.Background()
cid = genRedisKey(cid)
if code, err = corelib.RdbClient.Get(ctx, cid).Result(); err != nil {
return
}
//rdb.Del(ctx, cid)
return
}
// captcha缓存key拼接
func genRedisKey(id string) (res string) {
return corelib.CaptchaKey + id
}