图形验证码 (graphic)
简介
continew-starter-captcha-graphic
是 ContiNew Starter 验证码模块针对图形验证码的默认实现,底层基于 Easy Captcha,提供多种图形验证码类型。
主要特性
- 多种验证方式:支持算术验证、中文验证、中文闪图验证、英文验证和英文闪图验证
- 灵活配置:支持自定义验证码类型、长度、宽度、高度和字体大小
快速开始
引入依赖
xml
<dependency>
<groupId>top.continew.starter</groupId>
<artifactId>continew-starter-captcha-graphic</artifactId>
</dependency>
添加配置
配置详情请查看:top.continew.starter.captcha.graphic.autoconfigure.GraphicCaptchaProperties
。
yaml
--- ### 验证码配置
continew-starter:
captcha:
## 图形验证码
graphic:
enabled: true
# 类型(默认:SPEC(英文验证))
# ARITHMETIC:算术验证
# CHINESE:中文验证
# CHINESE_GIF:中文闪图验证
# SPEC:英文验证
# GIF:英文闪图验证
type: SPEC
# 图片中内容长度(默认:4)
length: 4
# 图片中内容高度(默认:111)
width: 111
# 图片中内容宽度(默认:36)
height: 36
# 字体大小(默认:25)
fontSize: 25
获取验证码
java
import top.continew.starter.captcha.graphic.core.GraphicCaptchaService;
@RestController
@RequiredArgsConstructor
@RequestMapping("/captcha")
public class CaptchaController {
private final GraphicCaptchaService graphicCaptchaService;
@Operation(summary = "获取图片验证码", description = "获取图片验证码(Base64编码,带图片格式:data:image/gif;base64)")
@GetMapping("/image")
public CaptchaResp getImageCaptcha() {
Captcha captcha = graphicCaptchaService.getCaptcha();
// 略...
return CaptchaResp.of(captcha.toBase64());
}
}
核心依赖
依赖 | 描述 |
---|---|
top.continew.starter:continew-starter-core | 核心模块 |
com.github.whvcse:easy-captcha | Easy Captcha(Java 图形验证码,支持 gif、中文、算术等类型,可用于 Java Web、JavaSE 等项目) |
org.openjdk.nashorn:nashorn-core | JS 引擎(一个纯编译的 JavaScript 引擎) |