Initial empty repository
Change-Id: Ie0685414be5495d9da50d659d9ec16ae51487e46
diff --git a/src/main/java/com/example/myproject/utils/Result.java b/src/main/java/com/example/myproject/utils/Result.java
new file mode 100644
index 0000000..e838a1c
--- /dev/null
+++ b/src/main/java/com/example/myproject/utils/Result.java
@@ -0,0 +1,129 @@
+package com.example.myproject.utils;
+
+
+public class Result<T> {
+ private String code;
+ private String msg;
+ private T data;
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public T getData() {
+ return data;
+ }
+
+ public void setData(T data) {
+ this.data = data;
+ }
+
+ public Result() {
+ }
+
+ public Result(T data) {
+ this.data = data;
+ }
+
+ public static Result success() {
+ Result result = new Result<>();
+ result.setCode("200");
+ result.setMsg("成功");
+ return result;
+ }
+
+ public static <T> Result<T> success(T data) {
+ Result<T> result = new Result<>(data);
+ result.setCode("200");
+ result.setMsg("成功");
+ return result;
+ }
+ public static <T> Result<T> success(String msg) {
+ Result result = new Result();
+ result.setCode("200");
+ result.setMsg("成功");
+ return result;
+ }
+
+ public static <T> Result<T> success(T data,String msg) {
+ Result<T> result = new Result<>(data);
+ result.setCode("200");
+ result.setMsg(msg);
+ return result;
+ }
+
+ public static Result error(String code, String msg) {
+ Result result = new Result();
+ result.setCode(code);
+ result.setMsg(msg);
+ return result;
+ }
+ /**
+ * 创建一个表示文件大小超出限制的结果对象。
+ *
+ * @return 构造的文件过大错误结果对象
+ */
+ public static Result fileTooLarge() {
+ Result result = new Result();
+ result.setCode("413");
+ result.setMsg("文件大小超出限制。");
+ return result;
+ }
+
+ /**
+ * 创建一个表示文件格式不支持的结果对象。
+ *
+ * @return 构造的文件格式错误结果对象
+ */
+ public static Result unsupportedFileType() {
+ Result result = new Result();
+ result.setCode("415");
+ result.setMsg("不支持的文件格式。");
+ return result;
+ }
+
+ /**
+ * 创建一个表示文件未找到的结果对象。
+ *
+ * @return 构造的文件未找到错误结果对象
+ */
+ public static Result fileNotFound() {
+ Result result = new Result();
+ result.setCode("404");
+ result.setMsg("文件未找到。");
+ return result;
+ }
+
+ /**
+ * 创建一个表示文件存储错误的结果对象。
+ *
+ * @param errorMsg 详细错误信息
+ * @return 构造的文件存储错误结果对象
+ */
+ public static Result fileStorageError(String errorMsg) {
+ Result result = new Result();
+ result.setCode("500");
+ result.setMsg("文件存储错误: " + errorMsg);
+ return result;
+ }
+
+ public static Result permissionDenied() {
+ Result result = new Result();
+ result.setCode("401");
+ result.setMsg("权限不足,无法执行该操作。");
+ return result;
+ }
+
+}
diff --git a/src/main/java/com/example/myproject/utils/VerifyCode.java b/src/main/java/com/example/myproject/utils/VerifyCode.java
new file mode 100644
index 0000000..689b8ce
--- /dev/null
+++ b/src/main/java/com/example/myproject/utils/VerifyCode.java
@@ -0,0 +1,156 @@
+package com.example.myproject.utils;
+
+
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Random;
+
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Random;
+
+/*
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Random;
+
+/**
+ * @author 阿楠
+ * code生成工具类
+ */
+public class VerifyCode {
+ /**
+ * 生成验证码图片的宽度
+ */
+ private int width = 100;
+
+ /**
+ * 生成验证码图片的高度
+ */
+ private int height = 30;
+
+ /**
+ * 字符样式
+ */
+ private String[] fontNames = { "宋体", "楷体", "隶书", "微软雅黑" };
+
+ /**
+ * 定义验证码图片的背景颜色为白色
+ */
+ private Color bgColor = new Color(255, 255, 255);
+
+ /**
+ * 生成随机
+ */
+ private Random random = new Random();
+
+ /**
+ * 定义code字符
+ */
+ private String codes = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
+
+ /**
+ * 记录随机字符串
+ */
+ private String text;
+
+ /**
+ * 获取一个随意颜色
+ * @return
+ */
+ private Color randomColor() {
+ int red = random.nextInt(150);
+ int green = random.nextInt(150);
+ int blue = random.nextInt(150);
+ return new Color(red, green, blue);
+ }
+
+ /**
+ * 获取一个随机字体
+ *
+ * @return
+ */
+ private Font randomFont() {
+ String name = fontNames[random.nextInt(fontNames.length)];
+ int style = random.nextInt(4);
+ int size = random.nextInt(5) + 24;
+ return new Font(name, style, size);
+ }
+
+ /**
+ * 获取一个随机字符
+ *
+ * @return
+ */
+ private char randomChar() {
+ return codes.charAt(random.nextInt(codes.length()));
+ }
+
+ /**
+ * 创建一个空白的BufferedImage对象
+ *
+ * @return
+ */
+ private BufferedImage createImage() {
+ BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
+ Graphics2D g2 = (Graphics2D) image.getGraphics();
+ //设置验证码图片的背景颜色
+ g2.setColor(bgColor);
+ g2.fillRect(0, 0, width, height);
+ return image;
+ }
+
+ public BufferedImage getImage() {
+ BufferedImage image = createImage();
+ Graphics2D g2 = (Graphics2D) image.getGraphics();
+ StringBuffer sb = new StringBuffer();
+ for (int i = 0; i < 4; i++) {
+ String s = randomChar() + "";
+ sb.append(s);
+ g2.setColor(randomColor());
+ g2.setFont(randomFont());
+ float x = i * width * 1.0f / 4;
+ g2.drawString(s, x, height - 8);
+ }
+ this.text = sb.toString();
+ drawLine(image);
+ return image;
+ }
+
+ /**
+ * 绘制干扰线
+ *
+ * @param image
+ */
+ private void drawLine(BufferedImage image) {
+ Graphics2D g2 = (Graphics2D) image.getGraphics();
+ int num = 5;
+ for (int i = 0; i < num; i++) {
+ int x1 = random.nextInt(width);
+ int y1 = random.nextInt(height);
+ int x2 = random.nextInt(width);
+ int y2 = random.nextInt(height);
+ g2.setColor(randomColor());
+ g2.setStroke(new BasicStroke(1.5f));
+ g2.drawLine(x1, y1, x2, y2);
+ }
+ }
+
+ public String getText() {
+ return text;
+ }
+
+ public static void output(BufferedImage image, OutputStream out) throws IOException {
+ ImageIO.write(image, "JPEG", out);
+ }
+}