提交 da51ed9f 作者: 方治民

feat: 图形验证码生成补充过期时间输出

上级 16ea2d1b
......@@ -7,6 +7,7 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.yiring.auth.vo.auth.CaptchaVo;
import com.yiring.common.core.Redis;
import java.time.LocalDateTime;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
......@@ -31,12 +32,14 @@ public class Captcha {
public CaptchaVo create() {
LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 80);
String key = IdUtil.fastSimpleUUID();
int expire = 300;
CaptchaVo vo = CaptchaVo
.builder()
.key(key)
.data("data:image/jpg;base64," + lineCaptcha.getImageBase64())
.expire(LocalDateTime.now().plusSeconds(expire))
.build();
redis.set(CAPTCHA_KEY_PREFIX + key, lineCaptcha.getCode(), 300);
redis.set(CAPTCHA_KEY_PREFIX + key, lineCaptcha.getCode(), expire);
return vo;
}
......
......@@ -4,6 +4,7 @@ package com.yiring.auth.vo.auth;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.*;
import lombok.experimental.FieldDefaults;
......@@ -31,4 +32,7 @@ public class CaptchaVo implements Serializable {
@Schema(description = "验证码图片 Base64", example = "data:image/jpg;base64,iV==")
String data;
@Schema(description = "验证码过期时间", example = "2024-01-01 00:00:00")
LocalDateTime expire;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论