Переглянути джерело

个人平生网页url生成二维码

Alex 4 роки тому
батько
коміт
e6f8155a09

+ 39 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TPersonalPageController.java

@@ -2,19 +2,24 @@ package com.ruoyi.web.controller.system;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 
+import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.util.List;
 import java.util.Arrays;
 
 import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.utils.QRCodeUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.file.FileUploadUtils;
+import com.ruoyi.common.utils.sign.Base64;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.io.IOUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.FastByteArrayOutputStream;
 import org.springframework.web.bind.annotation.*;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
@@ -26,6 +31,10 @@ import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.page.TableDataInfo;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.imageio.ImageIO;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+
 /**
  * 个人页Controller
  * 
@@ -162,4 +171,34 @@ public class TPersonalPageController extends BaseController {
         }
         return AjaxResult.error("上传图片异常,请联系管理员");
     }
+
+    /**
+     * 根据url获取二维码
+     * @param response
+     * @param url
+     * @return
+     * @throws Exception
+     */
+    @PreAuthorize("@ss.hasPermi('system:personal:page:query')" )
+    @GetMapping("/qrcode")
+    public AjaxResult getQrcode(HttpServletResponse response, String url) throws Exception {
+
+        if (StringUtils.isBlank(url)) {
+            return AjaxResult.error("url为空");
+        }
+        //二维码图片
+        BufferedImage image = QRCodeUtils.createImage(url,null,true);
+        // 转换流信息写出
+        FastByteArrayOutputStream os = new FastByteArrayOutputStream();
+        try {
+            ImageIO.write(image, "jpg", os);
+        }
+        catch (IOException e) {
+            return AjaxResult.error(e.getMessage());
+        }
+
+        AjaxResult ajax = AjaxResult.success();
+        ajax.put("img", Base64.encode(os.toByteArray()));
+        return ajax;
+    }
 }