diff --git a/src/main/java/cloud/tianai/captcha/generator/impl/MultiImageCaptchaGenerator.java b/src/main/java/cloud/tianai/captcha/generator/impl/MultiImageCaptchaGenerator.java index 679ec08..cfdb76b 100644 --- a/src/main/java/cloud/tianai/captcha/generator/impl/MultiImageCaptchaGenerator.java +++ b/src/main/java/cloud/tianai/captcha/generator/impl/MultiImageCaptchaGenerator.java @@ -21,8 +21,8 @@ import java.util.function.BiFunction; */ public class MultiImageCaptchaGenerator extends AbstractImageCaptchaGenerator { - private Map imageCaptchaGeneratorMap = new HashMap<>(4); - private Map> imageCaptchaGeneratorProviderMap = new HashMap<>(4); + protected Map imageCaptchaGeneratorMap = new HashMap<>(4); + protected Map> imageCaptchaGeneratorProviderMap = new HashMap<>(4); @Setter @Getter @@ -79,6 +79,11 @@ public class MultiImageCaptchaGenerator extends AbstractImageCaptchaGenerator { param.setType(defaultCaptcha); type = defaultCaptcha; } + ImageCaptchaGenerator imageCaptchaGenerator = requireGetCaptchaGenerator(type); + return imageCaptchaGenerator.generateCaptchaImage(param); + } + + public ImageCaptchaGenerator requireGetCaptchaGenerator(String type) { ImageCaptchaGenerator imageCaptchaGenerator = imageCaptchaGeneratorMap.get(type); if (imageCaptchaGenerator == null) { BiFunction provider = imageCaptchaGeneratorProviderMap.get(type); @@ -87,7 +92,6 @@ public class MultiImageCaptchaGenerator extends AbstractImageCaptchaGenerator { } imageCaptchaGenerator = imageCaptchaGeneratorMap.computeIfAbsent(type, k -> provider.apply(k, this)); } - - return imageCaptchaGenerator.generateCaptchaImage(param); + return imageCaptchaGenerator; } }