From d007dc5d831f9996aa5f07a23eff54873ef37cf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A9=E7=88=B1=E6=9C=89=E6=83=85?= Date: Tue, 6 Jun 2023 16:52:28 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E6=A0=A1=E9=AA=8C=E5=99=A8?= =?UTF-8?q?=EF=BC=8C=20=E5=8D=87=E7=BA=A7=E7=89=88=E6=9C=AC=E4=B8=BA1.4.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/java/example/readme/SimpleDemo.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main/test/java/example/readme/SimpleDemo.java diff --git a/src/main/test/java/example/readme/SimpleDemo.java b/src/main/test/java/example/readme/SimpleDemo.java new file mode 100644 index 0000000..fa60c48 --- /dev/null +++ b/src/main/test/java/example/readme/SimpleDemo.java @@ -0,0 +1,39 @@ +package example.readme; + +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; + +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); + + // 这个数据是根据当前生成的这条验证码数据生成对应的验证数据, 该数据要存到缓存中 + Map map = imageCaptchaValidator.generateImageCaptchaValidData(imageCaptchaInfo); + + + + // 这是用户移动滑块后的校验接口 + // imageCaptchaTrack 对象为前端传来的滑动轨迹数据, 这里进行验证滑块, 返回 true 说明校验通过 + ImageCaptchaTrack imageCaptchaTrack = null; + boolean check = imageCaptchaValidator.valid(imageCaptchaTrack, map).isSuccess(); + } + +}