开源!一款基于Spring Boot的二维码生成和解析工具

本文涉及的产品
云解析DNS,个人版 1个月
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 开源!一款基于Spring Boot的二维码生成和解析工具

1 概览

设计技术点:

  • Spring Boot(restful API)
  • zxing

readme:

网络异常,图片无法展示
|


2 项目截图

2.1 体验地址

http://59.110.25.8:8080/tools/

2.2 截图

网络异常,图片无法展示
|

网络异常,图片无法展示
|


3 部分代码

枚举:

package org.ymx.sb_qr_code.enums;
import lombok.Getter;
/**
 * @desc: 图片大小枚举
 * @author: YanMingXin
 * @create: 2022/6/2-20:15
 **/
@Getter
public enum ImgSize {
    MINI(80, 80), SMALL(120, 120), MIDDLE(200, 200), BIG(500, 500);
    int width;
    int height;
    ImgSize(int width, int height) {
        this.width = width;
        this.height = height;
    }
    @Override
    public String toString() {
        return "ImgSize{" +
                "width=" + width +
                ", height=" + height +
                '}';
    }
}
复制代码


service层实现类

package org.ymx.sb_qr_code.service.impl;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.ymx.sb_qr_code.service.ZXingService;
import org.ymx.sb_qr_code.utils.ZXingUtil;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
/**
 * @desc: Service文件处理
 * @author: YanMingXin
 * @create: 2022/6/2-19:22
 **/
@Service
public class ZXingServiceImpl implements ZXingService {
    @Value("${file.upload.path}")
    private String imgPath;
    @Override
    public String encodeImg(String format, String content, int width, int height, String logo) {
        String fileName = UUID.randomUUID() + "." + format;
        String text = content;
        if (ObjectUtils.isEmpty(content)) {
            text = "null";
        }
        if (!ObjectUtils.isEmpty(logo)) {
            logo = imgPath + logo;
        }
        String path = imgPath + fileName;
        try {
            ZXingUtil.encodeImg(path, format, text, width, height, logo);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return fileName;
    }
    @Override
    public String decodeImg(File file) {
        String content = null;
        try {
            content = ZXingUtil.decodeImg(file);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return content;
    }
}


相关文章
|
1天前
|
Cloud Native Java 开发者
深入解析Spring Framework的核心设计原理
深入解析Spring Framework的核心设计原理
|
4天前
|
JSON 缓存 Java
Spring Boot中的JSON解析优化
Spring Boot中的JSON解析优化
|
4天前
|
Java 开发者 Spring
深入解析 @Transactional:Spring 事务管理的艺术及实战应对策略
深入解析 @Transactional:Spring 事务管理的艺术及实战应对策略
11 2
|
4天前
|
存储 缓存 Java
深入解析Spring框架中的ReflectionUtils
深入解析Spring框架中的ReflectionUtils
11 1
|
4天前
|
JSON 缓存 Java
Spring Boot中的JSON解析优化
Spring Boot中的JSON解析优化
|
4天前
|
Java 容器 Spring
Spring5源码解析5-ConfigurationClassPostProcessor (上)
Spring5源码解析5-ConfigurationClassPostProcessor (上)
|
4天前
|
NoSQL Java Redis
【源码解析】自动配置的这些细节都不知道,别说你会 springboot
【源码解析】自动配置的这些细节都不知道,别说你会 springboot
|
5天前
|
Java 测试技术 应用服务中间件
Spring 与 Spring Boot:深入解析
Spring 与 Spring Boot:深入解析
9 0
|
5天前
|
XML Java 开发者
“掌握Spring IoC和AOP:30道面试必备问题解析!“
“掌握Spring IoC和AOP:30道面试必备问题解析!“
12 0
|
1天前
|
前端开发 Java 微服务
Spring Boot与微前端架构的集成开发
Spring Boot与微前端架构的集成开发

推荐镜像

更多