diff --git a/internal/dao/cache/redis.go b/internal/dao/cache/redis.go index 0e106c5a..e4af2c1e 100644 --- a/internal/dao/cache/redis.go +++ b/internal/dao/cache/redis.go @@ -7,12 +7,10 @@ package cache import ( "context" "fmt" - "time" - "unsafe" - "github.com/Masterminds/semver/v3" "github.com/redis/rueidis" "github.com/rocboss/paopao-ce/internal/core" + "time" ) var ( @@ -105,7 +103,10 @@ func (r *redisCache) SetImgCaptcha(ctx context.Context, id string, value string) func (r *redisCache) GetImgCaptcha(ctx context.Context, id string) (string, error) { res, err := r.c.Do(ctx, r.c.B().Get().Key(_imgCaptchaKey+id).Build()).AsBytes() - return unsafe.String(&res[0], len(res)), err + if len(res) == 0 { + return "", err + } + return string(res), err } func (r *redisCache) DelImgCaptcha(ctx context.Context, id string) error { diff --git a/internal/servants/web/pub.go b/internal/servants/web/pub.go index fa81cae5..fafbdd0e 100644 --- a/internal/servants/web/pub.go +++ b/internal/servants/web/pub.go @@ -45,8 +45,8 @@ func (s *pubSrv) SendCaptcha(req *web.SendCaptchaReq) error { ctx := context.Background() // 验证图片验证码 - if captcha, err := s.Redis.GetImgCaptcha(ctx, req.ImgCaptchaID); err != nil || string(captcha) != req.ImgCaptcha { - logrus.Debugf("get captcha err:%s expect:%s got:%s", err, captcha, req.ImgCaptcha) + if imgCaptcha, err := s.Redis.GetImgCaptcha(ctx, req.ImgCaptchaID); err != nil || imgCaptcha != req.ImgCaptcha { + logrus.Debugf("get imgCaptcha err:%s expect:%s got:%s", err, imgCaptcha, req.ImgCaptcha) return web.ErrErrorCaptchaPassword } s.Redis.DelImgCaptcha(ctx, req.ImgCaptchaID) @@ -66,16 +66,16 @@ func (s *pubSrv) SendCaptcha(req *web.SendCaptchaReq) error { } func (s *pubSrv) GetCaptcha() (*web.GetCaptchaResp, error) { - cap := captcha.New() - if err := cap.AddFontFromBytes(assets.ComicBytes); err != nil { - logrus.Errorf("cap.AddFontFromBytes err:%s", err) + capt := captcha.New() + if err := capt.AddFontFromBytes(assets.ComicBytes); err != nil { + logrus.Errorf("captcha.AddFontFromBytes err:%s", err) return nil, xerror.ServerError } - cap.SetSize(160, 64) - cap.SetDisturbance(captcha.MEDIUM) - cap.SetFrontColor(color.RGBA{0, 0, 0, 255}) - cap.SetBkgColor(color.RGBA{218, 240, 228, 255}) - img, password := cap.Create(6, captcha.NUM) + capt.SetSize(160, 64) + capt.SetDisturbance(captcha.MEDIUM) + capt.SetFrontColor(color.RGBA{0, 0, 0, 255}) + capt.SetBkgColor(color.RGBA{218, 240, 228, 255}) + img, password := capt.Create(6, captcha.NUM) emptyBuff := bytes.NewBuffer(nil) if err := png.Encode(emptyBuff, img); err != nil { logrus.Errorf("png.Encode err:%s", err) @@ -159,6 +159,7 @@ func (s *pubSrv) Login(req *web.LoginReq) (*web.LoginResp, error) { return &web.LoginResp{ Token: token, }, nil + } func (s *pubSrv) Version() (*web.VersionResp, error) {