From 48e2af7cec8adf1e3ab18e099aacf5a30b6bc990 Mon Sep 17 00:00:00 2001
From: vincent <1341870251@qq.com>
Date: 星期一, 25 五月 2020 13:10:25 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/web/AuthController.java           |   15 ++++++++++++---
 src/main/java/com/zy/Boot.java                                |    2 ++
 src/main/java/com/zy/common/utils/RandomValidateCodeUtil.java |   18 ++++++++++++++++++
 3 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/Boot.java b/src/main/java/com/zy/Boot.java
index aeacc4f..7c3d502 100644
--- a/src/main/java/com/zy/Boot.java
+++ b/src/main/java/com/zy/Boot.java
@@ -1,5 +1,6 @@
 package com.zy;
 
+import com.zy.common.utils.RandomValidateCodeUtil;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.builder.SpringApplicationBuilder;
@@ -9,6 +10,7 @@
 public class Boot extends SpringBootServletInitializer {
 
     public static void main(String[] args) {
+        RandomValidateCodeUtil.init();
         SpringApplication.run(Boot.class, args);
     }
 
diff --git a/src/main/java/com/zy/common/utils/RandomValidateCodeUtil.java b/src/main/java/com/zy/common/utils/RandomValidateCodeUtil.java
index 87ff1d5..fd04503 100644
--- a/src/main/java/com/zy/common/utils/RandomValidateCodeUtil.java
+++ b/src/main/java/com/zy/common/utils/RandomValidateCodeUtil.java
@@ -41,6 +41,24 @@
         return new Color(r, g, b);
     }
 
+    public static void init() {
+        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
+        Graphics g = image.getGraphics();// 浜х敓Image瀵硅薄鐨凣raphics瀵硅薄,鏀瑰璞″彲浠ュ湪鍥惧儚涓婅繘琛屽悇绉嶇粯鍒舵搷浣�
+        g.fillRect(0, 0, width, height);//鍥剧墖澶у皬
+        g.setFont(new Font("Times New Roman", Font.PLAIN, 18));//瀛椾綋澶у皬
+        g.setColor(getRandColor(110, 133));//瀛椾綋棰滆壊
+        // 缁樺埗骞叉壈绾�
+        for (int i = 0; i <= lineSize; i++) {
+            drowLine(g);
+        }
+        // 缁樺埗闅忔満瀛楃
+        String randomString = "";
+        for (int i = 1; i <= stringNum; i++) {
+            randomString = drowString(g, randomString, i);
+        }
+        g.dispose();
+    }
+
     /**
      * 鐢熸垚闅忔満鍥剧墖
      */
diff --git a/src/main/java/com/zy/common/web/AuthController.java b/src/main/java/com/zy/common/web/AuthController.java
index dc4dca3..7963e9c 100644
--- a/src/main/java/com/zy/common/web/AuthController.java
+++ b/src/main/java/com/zy/common/web/AuthController.java
@@ -83,10 +83,19 @@
     public void code(@RequestParam String sd, HttpServletResponse response) {
         RandomValidateCodeUtil.getRandcode(sd, response);
     }
-
     @RequestMapping("/code.do")
-    public String codeDo(@RequestParam String sd) {
-        String code = RandomValidateCodeUtil.code.get(sd);
+    public String codeDo(@RequestParam String sd) throws Exception {
+        String code = null;
+        int time = 0;
+        while (time < 3000) {
+            code = RandomValidateCodeUtil.code.get(sd);
+            if (!Cools.isEmpty(code)){
+                break;
+            } else {
+                Thread.sleep(10);
+                time = time + 100;
+            }
+        }
         RandomValidateCodeUtil.code.remove(sd);
         return code;
     }

--
Gitblit v1.9.1