mirror of
https://github.com/dromara/tianai-captcha.git
synced 2026-05-20 08:14:04 +08:00
44 lines
2.2 KiB
Java
44 lines
2.2 KiB
Java
package example.readme;
|
|
|
|
import cloud.tianai.captcha.common.AnyMap;
|
|
import cloud.tianai.captcha.common.constant.CaptchaTypeConstant;
|
|
import cloud.tianai.captcha.generator.ImageCaptchaGenerator;
|
|
import cloud.tianai.captcha.generator.ImageTransform;
|
|
import cloud.tianai.captcha.generator.common.model.dto.ImageCaptchaInfo;
|
|
import cloud.tianai.captcha.generator.impl.MultiImageCaptchaGenerator;
|
|
import cloud.tianai.captcha.generator.impl.transform.Base64ImageTransform;
|
|
import cloud.tianai.captcha.resource.ImageCaptchaResourceManager;
|
|
import cloud.tianai.captcha.resource.impl.DefaultImageCaptchaResourceManager;
|
|
import cloud.tianai.captcha.validator.common.model.dto.ImageCaptchaTrack;
|
|
import cloud.tianai.captcha.validator.impl.BasicCaptchaTrackValidator;
|
|
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* 基础 SimpleDemo
|
|
*/
|
|
public class SimpleDemo {
|
|
|
|
public static void main(String[] args) throws InterruptedException {
|
|
ImageCaptchaResourceManager imageCaptchaResourceManager = new DefaultImageCaptchaResourceManager();
|
|
ImageTransform imageTransform = new Base64ImageTransform();
|
|
ImageCaptchaGenerator imageCaptchaGenerator = new MultiImageCaptchaGenerator(imageCaptchaResourceManager,imageTransform).init(true);
|
|
BasicCaptchaTrackValidator imageCaptchaValidator = new BasicCaptchaTrackValidator();
|
|
// 注意: 上面这个四个对象都是单例的, 整个项目创建一次即可
|
|
|
|
// 这里生成一个滑块验证码数据, 里面包括背景图、滑块图等等,按需传给前端进行展示
|
|
ImageCaptchaInfo imageCaptchaInfo = imageCaptchaGenerator.generateCaptchaImage(CaptchaTypeConstant.SLIDER);
|
|
|
|
// 这个数据是根据当前生成的这条验证码数据生成对应的验证数据, 该数据要存到缓存中
|
|
AnyMap map = imageCaptchaValidator.generateImageCaptchaValidData(imageCaptchaInfo);
|
|
|
|
|
|
|
|
// 这是用户移动滑块后的校验接口
|
|
// imageCaptchaTrack 对象为前端传来的滑动轨迹数据, 这里进行验证滑块, 返回 true 说明校验通过
|
|
ImageCaptchaTrack imageCaptchaTrack = null;
|
|
boolean check = imageCaptchaValidator.valid(imageCaptchaTrack, map).isSuccess();
|
|
}
|
|
|
|
}
|