diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/captcha/CaptchaRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/captcha/CaptchaRest.java index 558feb0487..1721df0084 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/captcha/CaptchaRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/captcha/CaptchaRest.java @@ -7,26 +7,32 @@ import com.yxt.common.base.config.RedisUtil; import com.yxt.common.base.config.captcha.CaptchaBaseParam; import com.yxt.common.base.config.captcha.CaptchaType; import com.yxt.common.base.config.captcha.ImageUtils; +import com.yxt.common.base.config.captcha.RandomUtils; import com.yxt.common.base.config.captcha.factory.CaptchaFactory; import com.yxt.common.base.config.captcha.factory.ICaptchaFactory; import com.yxt.common.base.config.captcha.factory.impl.AbstractCaptcha; -import com.yxt.common.base.utils.AjaxResult; +import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.utils.Base64; import com.yxt.common.base.utils.VerifyCodeUtils; +import com.yxt.common.base.utils.WordConvertUtils; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.CaptchaBaseVO; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.ByteArrayOutputStream; +import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.util.HashMap; import java.util.Map; import java.util.UUID; + @Api(tags = "登录验证码") @RestController @RequestMapping("v1/captcha") @@ -40,6 +46,12 @@ public class CaptchaRest implements CaptchaApi { @Autowired(required = false) private ImageUtils imageUtils; + @Autowired + private FileUploadComponent fileUploadComponent; + + @Value("${image.login.path:static/upload/}") + private String imageLoginPath; + /** * 超时时间3min */ @@ -85,7 +97,7 @@ public class CaptchaRest implements CaptchaApi { captchaBaseParam.setUrlOrPath(imageUtils.getBlockPuzzleBgPath()); captcha.setJigsawUrlOrPath(imageUtils.getBlockPuzzleJigsawPath()); CaptchaBaseVO dataVO = captcha.create(captchaBaseParam); - Map ajaxResult = new HashMap<>(); + Map ajaxResult = new HashMap<>(); ajaxResult.put("dataVo", dataVO); Map map = JSON.parseObject(JSON.toJSONString(dataVO), Map.class); String point = map.get("point").toString(); @@ -114,7 +126,7 @@ public class CaptchaRest implements CaptchaApi { } catch (IOException e) { return ResultBean.fireFail().setMessage(e.getMessage()); } - Map ajaxResult = new HashMap<>(); + Map ajaxResult = new HashMap<>(); ajaxResult.put("uuid", uuid); ajaxResult.put("img", Base64.encode(imgOutputStream.toByteArray())); return ResultBean.fireSuccess().setData(ajaxResult); @@ -122,20 +134,30 @@ public class CaptchaRest implements CaptchaApi { @Override public ResultBean clickWord(HttpServletResponse httpServletResponse) { + //=============优化从resources中获取 + File targetFile = new File(imageLoginPath); + if (!targetFile.exists()) { + targetFile.mkdirs(); + } + int randomNum = RandomUtils.getRandomInt(1, 12); + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("images/pic-click/bg" +randomNum+".png"); + String path = imageLoginPath+"/bg"+randomNum+".png"; + File file = new File(path); + WordConvertUtils.inputStreamToFile(inputStream, file); + //=============优化从resources中获取 String uuid = UUID.randomUUID().toString(); ICaptchaFactory captchaFactory = new CaptchaFactory(); AbstractCaptcha captcha = captchaFactory.getInstance(CaptchaType.CLICK_WORD); CaptchaBaseParam captchaBaseParam = new CaptchaBaseParam(); - captchaBaseParam.setUrlOrPath(imageUtils.getClickWordBgPath()); +// captchaBaseParam.setUrlOrPath(imageUtils.getClickWordBgPath()); + captchaBaseParam.setUrlOrPath(path); captcha.setFontColorRandom(false); CaptchaBaseVO dataVO = captcha.create(captchaBaseParam); - Map ajaxResult = new HashMap<>(); + Map ajaxResult = new HashMap<>(); ajaxResult.put("dataVO", dataVO); Map map = JSON.parseObject(JSON.toJSONString(dataVO), Map.class); String wordList = map.get("wordList").toString(); String pointList = map.get("pointList").toString(); -// List lis = Arrays.asList(wordList.split("")); -// redisUtil.set(uuid, lis.get(0) + lis.get(1) + lis.get(2)); redisUtil.set(uuid, pointList); redisUtil.expire(uuid, captchaExpires); ajaxResult.put("uuid", uuid); diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg1.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg1.png new file mode 100644 index 0000000000..85b5782bcb Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg1.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg10.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg10.png new file mode 100644 index 0000000000..3d558a75db Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg10.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg11.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg11.png new file mode 100644 index 0000000000..4d8d7aff32 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg11.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg12.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg12.png new file mode 100644 index 0000000000..e6330aaa6f Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg12.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg2.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg2.png new file mode 100644 index 0000000000..ebfa46edf5 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg2.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg3.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg3.png new file mode 100644 index 0000000000..ce14d035e2 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg3.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg4.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg4.png new file mode 100644 index 0000000000..39e7d5ac8c Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg4.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg5.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg5.png new file mode 100644 index 0000000000..7e1e30fcd6 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg5.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg6.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg6.png new file mode 100644 index 0000000000..835a306822 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg6.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg7.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg7.png new file mode 100644 index 0000000000..6ffb80878c Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg7.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg8.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg8.png new file mode 100644 index 0000000000..3ae8907a0c Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg8.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg9.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg9.png new file mode 100644 index 0000000000..83b9efb800 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/original/bg9.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/1.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/1.png new file mode 100644 index 0000000000..1905026606 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/1.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/2.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/2.png new file mode 100644 index 0000000000..b1482d48b4 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/2.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/3.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/3.png new file mode 100644 index 0000000000..cdbb0b18c4 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/3.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/4.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/4.png new file mode 100644 index 0000000000..bc69c96224 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/jigsaw/slidingBlock/4.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg1.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg1.png new file mode 100644 index 0000000000..85b5782bcb Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg1.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg10.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg10.png new file mode 100644 index 0000000000..3d558a75db Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg10.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg11.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg11.png new file mode 100644 index 0000000000..4d8d7aff32 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg11.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg12.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg12.png new file mode 100644 index 0000000000..e6330aaa6f Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg12.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg2.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg2.png new file mode 100644 index 0000000000..ebfa46edf5 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg2.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg3.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg3.png new file mode 100644 index 0000000000..ce14d035e2 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg3.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg4.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg4.png new file mode 100644 index 0000000000..39e7d5ac8c Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg4.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg5.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg5.png new file mode 100644 index 0000000000..7e1e30fcd6 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg5.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg6.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg6.png new file mode 100644 index 0000000000..835a306822 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg6.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg7.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg7.png new file mode 100644 index 0000000000..6ffb80878c Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg7.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg8.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg8.png new file mode 100644 index 0000000000..3ae8907a0c Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg8.png differ diff --git a/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg9.png b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg9.png new file mode 100644 index 0000000000..83b9efb800 Binary files /dev/null and b/anrui-portal/anrui-portal-biz/src/main/resources/images/pic-click/bg9.png differ