依赖:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.3</version>
</dependency>
后端:
@GetMapping(value = "/captcha")
@ResponseBody
public String captcha() {
CircleCaptcha captcha;
//定义图形验证码的长、宽、验证码字符数、干扰元素个数
captcha = CaptchaUtil.createCircleCaptcha(80, 40, 4, 0);
//获取验证码图片base64
String base64Img = captcha.getImageBase64();
//把验证码存入到redis中
stringRedisTemplate.opsForValue().set(AuthServerConstant.USER_LOGIN_IDENTIFYCODE, captcha.getCode(),3, TimeUnit.MINUTES);
return base64Img;
}
前端Vue:
<img :src="base64Img" width="80px" height="40px" v-if="isNotImg" />
this.$api.getCaptcha().then((res) => {
this.base64Img = "data:image/jpeg;base64," + res;
});
// 获取图形验证码
export const getCaptcha = () => request.get('/login/captcha')