|
|
@@ -15,6 +15,10 @@ import org.springframework.http.*;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
+import java.awt.*;
|
|
|
+import java.awt.image.BufferedImage;
|
|
|
+import java.util.Random;
|
|
|
+
|
|
|
/**
|
|
|
* 登录信息实现类
|
|
|
* Created by wuxw on 2019/3/20.
|
|
|
@@ -25,6 +29,11 @@ public class LoginServiceSMOImpl extends BaseServiceSMO implements ILoginService
|
|
|
private final static Logger logger = LoggerFactory.getLogger(LoginServiceSMOImpl.class);
|
|
|
|
|
|
|
|
|
+ private static char[] chs = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".toCharArray();
|
|
|
+ private static final int NUMBER_OF_CHS = 4;
|
|
|
+ private static final int IMG_WIDTH = 65;
|
|
|
+ private static final int IMG_HEIGHT = 25;
|
|
|
+ private static Random r = new Random();
|
|
|
@Autowired
|
|
|
private RestTemplate restTemplate;
|
|
|
|
|
|
@@ -49,6 +58,37 @@ public class LoginServiceSMOImpl extends BaseServiceSMO implements ILoginService
|
|
|
return responseEntity;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 生成验证码
|
|
|
+ * 参考地址:https://www.cnblogs.com/happyfans/p/4486010.html
|
|
|
+ * @param pd 页面请求对象
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseEntity<String> generateValidateCode(IPageData pd) {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ BufferedImage image = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, BufferedImage.TYPE_INT_RGB); // 实例化BufferedImage
|
|
|
+ Graphics g = image.getGraphics();
|
|
|
+ Color c = new Color(200, 200, 255); // 验证码图片的背景颜色
|
|
|
+ g.setColor(c);
|
|
|
+ g.fillRect(0, 0, IMG_WIDTH, IMG_HEIGHT); // 图片的边框
|
|
|
+
|
|
|
+ StringBuffer sb = new StringBuffer(); // 用于保存验证码字符串
|
|
|
+ int index; // 数组的下标
|
|
|
+ for (int i = 0; i < NUMBER_OF_CHS; i++) {
|
|
|
+ index = r.nextInt(chs.length); // 随机一个下标
|
|
|
+ g.setColor(new Color(r.nextInt(88), r.nextInt(210), r.nextInt(150))); // 随机一个颜色
|
|
|
+ g.drawString(chs[index] + "", 15 * i + 3, 18); // 画出字符
|
|
|
+ sb.append(chs[index]); // 验证码字符串
|
|
|
+ }
|
|
|
+
|
|
|
+ /*request.getSession().setAttribute("piccode", sb.toString()); // 将验证码字符串保存到session中
|
|
|
+ ImageIO.write(image, "jpg", response.getOutputStream());*/
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
public RestTemplate getRestTemplate() {
|
|
|
return restTemplate;
|
|
|
}
|