From 1e79d6f56fbd9a054800f1c62fd95bacda37c6b3 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期一, 20 七月 2020 10:41:32 +0800
Subject: [PATCH] 同步升级3.0

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java |   62 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
new file mode 100644
index 0000000..c096344
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
@@ -0,0 +1,62 @@
+package com.ruoyi.web.controller.common;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.utils.VerifyCodeUtils;
+import com.ruoyi.common.utils.sign.Base64;
+import com.ruoyi.common.utils.uuid.IdUtils;
+
+/**
+ * 楠岃瘉鐮佹搷浣滃鐞�
+ * 
+ * @author ruoyi
+ */
+@RestController
+public class CaptchaController
+{
+    @Autowired
+    private RedisCache redisCache;
+
+    /**
+     * 鐢熸垚楠岃瘉鐮�
+     */
+    @GetMapping("/captchaImage")
+    public AjaxResult getCode(HttpServletResponse response) throws IOException
+    {
+        // 鐢熸垚闅忔満瀛椾覆
+        String verifyCode = VerifyCodeUtils.generateVerifyCode(4);
+        // 鍞竴鏍囪瘑
+        String uuid = IdUtils.simpleUUID();
+        String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
+
+        redisCache.setCacheObject(verifyKey, verifyCode, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
+        // 鐢熸垚鍥剧墖
+        int w = 111, h = 36;
+        ByteArrayOutputStream stream = new ByteArrayOutputStream();
+        VerifyCodeUtils.outputImage(w, h, stream, verifyCode);
+        try
+        {
+            AjaxResult ajax = AjaxResult.success();
+            ajax.put("uuid", uuid);
+            ajax.put("img", Base64.encode(stream.toByteArray()));
+            return ajax;
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+            return AjaxResult.error(e.getMessage());
+        }
+        finally
+        {
+            stream.close();
+        }
+    }
+}

--
Gitblit v1.9.3