diff --git a/src/main/java/cloud/tianai/captcha/template/slider/CacheSliderCaptchaTemplate.java b/src/main/java/cloud/tianai/captcha/template/slider/CacheSliderCaptchaTemplate.java index 82ff37b..baa82eb 100644 --- a/src/main/java/cloud/tianai/captcha/template/slider/CacheSliderCaptchaTemplate.java +++ b/src/main/java/cloud/tianai/captcha/template/slider/CacheSliderCaptchaTemplate.java @@ -87,21 +87,6 @@ public class CacheSliderCaptchaTemplate implements SliderCaptchaTemplate { return poll; } - -// public static void main(String[] args) throws InterruptedException { -// SliderCaptchaTemplate captchaTemplate = new DefaultSliderCaptchaTemplate("jpeg", "png", true); -// -// captchaTemplate = new CacheSliderCaptchaTemplate(captchaTemplate, 20); -// TimeUnit.SECONDS.sleep(5); -// for (int i = 0; i < 100; i++) { -// long start = System.currentTimeMillis(); -// SliderCaptchaInfo info = captchaTemplate.getSlideImageInfo(); -// long end = System.currentTimeMillis(); -// System.out.println("耗时:" + (end - start)); -// TimeUnit.MILLISECONDS.sleep(10); -// } -// } - @Override public void addResource(URL url) { target.addResource(url); @@ -127,13 +112,49 @@ public class CacheSliderCaptchaTemplate implements SliderCaptchaTemplate { target.deleteResource(resource); } + @Override + public List listResources() { + return target.listResources(); + } + + @Override + public void clearResources() { + target.clearResources(); + } + @Override public void deleteTemplate(Map template) { target.deleteTemplate(template); } + @Override + public List> listTemplates() { + return target.listTemplates(); + } + + @Override + public void clearTemplates() { + target.clearTemplates(); + } + @Override public boolean percentageContrast(Float newPercentage, Float oriPercentage) { return target.percentageContrast(newPercentage, oriPercentage); } + + +// public static void main(String[] args) throws InterruptedException { +// SliderCaptchaTemplate captchaTemplate = new DefaultSliderCaptchaTemplate("jpeg", "png", true); +// +// captchaTemplate = new CacheSliderCaptchaTemplate(captchaTemplate, 20); +// TimeUnit.SECONDS.sleep(5); +// for (int i = 0; i < 100; i++) { +// long start = System.currentTimeMillis(); +// SliderCaptchaInfo info = captchaTemplate.getSlideImageInfo(); +// long end = System.currentTimeMillis(); +// System.out.println("耗时:" + (end - start)); +// TimeUnit.MILLISECONDS.sleep(10); +// } +// } + } diff --git a/src/main/java/cloud/tianai/captcha/template/slider/DefaultSliderCaptchaTemplate.java b/src/main/java/cloud/tianai/captcha/template/slider/DefaultSliderCaptchaTemplate.java index 8f339fc..4afc357 100644 --- a/src/main/java/cloud/tianai/captcha/template/slider/DefaultSliderCaptchaTemplate.java +++ b/src/main/java/cloud/tianai/captcha/template/slider/DefaultSliderCaptchaTemplate.java @@ -129,11 +129,31 @@ public class DefaultSliderCaptchaTemplate implements SliderCaptchaTemplate { resourceImageFiles.remove(resource); } + @Override + public List listResources() { + return Collections.unmodifiableList(resourceImageFiles); + } + + @Override + public void clearResources() { + resourceImageFiles.clear(); + } + @Override public void deleteTemplate(Map template) { templateImageFiles.remove(template); } + @Override + public List> listTemplates() { + return Collections.unmodifiableList(templateImageFiles); + } + + @Override + public void clearTemplates() { + templateImageFiles.clear(); + } + @Override public void addTemplate(Map template) { templateImageFiles.remove(template); diff --git a/src/main/java/cloud/tianai/captcha/template/slider/SliderCaptchaResource.java b/src/main/java/cloud/tianai/captcha/template/slider/SliderCaptchaResource.java index 760386d..d28632c 100644 --- a/src/main/java/cloud/tianai/captcha/template/slider/SliderCaptchaResource.java +++ b/src/main/java/cloud/tianai/captcha/template/slider/SliderCaptchaResource.java @@ -17,13 +17,6 @@ public interface SliderCaptchaResource { */ void addResource(URL url); - /** - * 添加模板 - * - * @param template template - */ - void addTemplate(Map template); - /** * 设置资源 * @@ -31,13 +24,6 @@ public interface SliderCaptchaResource { */ void setResource(List resources); - /** - * 设置模板 - * - * @param imageTemplates imageTemplates - */ - void setTemplates(List> imageTemplates); - /** * 删除资源 * @@ -45,10 +31,49 @@ public interface SliderCaptchaResource { */ void deleteResource(URL resource); + /** + * 读取所有资源 + * + * @return List + */ + List listResources(); + + /** + * 清除所有资源 + */ + void clearResources(); + + /** + * 添加模板 + * + * @param template template + */ + void addTemplate(Map template); + + + /** + * 设置模板 + * + * @param imageTemplates imageTemplates + */ + void setTemplates(List> imageTemplates); + /** * 删除模板 * * @param template template */ void deleteTemplate(Map template); + + /** + * 查询所有模板 + * + * @return List> + */ + List> listTemplates(); + + /** + * 清除所有模板 + */ + void clearTemplates(); } diff --git a/src/main/resources/META-INF/cut-image/template/2/active.png b/src/main/resources/META-INF/cut-image/template/2/active.png new file mode 100644 index 0000000..32f5838 Binary files /dev/null and b/src/main/resources/META-INF/cut-image/template/2/active.png differ diff --git a/src/main/resources/META-INF/cut-image/template/2/fixed.png b/src/main/resources/META-INF/cut-image/template/2/fixed.png new file mode 100644 index 0000000..a83b364 Binary files /dev/null and b/src/main/resources/META-INF/cut-image/template/2/fixed.png differ diff --git a/src/main/resources/META-INF/cut-image/template/2/matrix.png b/src/main/resources/META-INF/cut-image/template/2/matrix.png new file mode 100644 index 0000000..0636cdf Binary files /dev/null and b/src/main/resources/META-INF/cut-image/template/2/matrix.png differ