| 
					
				 | 
			
			
				@@ -10,16 +10,34 @@ import javax.imageio.ImageIO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.awt.image.BufferedImage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.ByteArrayOutputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.net.URLDecoder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Base64; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @RestController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class QRCodeController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @GetMapping(value = "/hisCountQrCode", produces = MediaType.IMAGE_PNG_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public byte[] getQRCode(@RequestParam String content) throws IOException, WriterException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        BufferedImage qrImage = QRCodeGenerator.generateQRCode(content, 300, 300); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @GetMapping(value = "/hisCountQrCode") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Map<String, Object> getQRCode(@RequestParam String content) throws IOException, WriterException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BufferedImage qrImage = QRCodeGenerator.generateQRCode(URLDecoder.decode(content, "UTF-8"), 100, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ImageIO.write(qrImage, "PNG", baos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return baos.toByteArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        byte[] imageBytes = baos.toByteArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String base64Image = Base64.getEncoder().encodeToString(imageBytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String imageSrc = "data:image/png;base64," + base64Image; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, Object> resultMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("code", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message", "生成二维码成功!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("data", imageSrc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message", "生成二维码失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |