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

简介: 开源!一款基于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;
    }
}

4 获取方式


相关文章
|
4天前
|
SQL 分布式计算 监控
Sqoop数据迁移工具使用与优化技巧:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入解析Sqoop的使用、优化及面试策略。内容涵盖Sqoop基础,包括安装配置、命令行操作、与Hadoop生态集成和连接器配置。讨论数据迁移优化技巧,如数据切分、压缩编码、转换过滤及性能监控。此外,还涉及面试中对Sqoop与其他ETL工具的对比、实际项目挑战及未来发展趋势的讨论。通过代码示例展示了从MySQL到HDFS的数据迁移。本文旨在帮助读者在面试中展现Sqoop技术实力。
21 2
|
17天前
|
数据可视化 搜索推荐 BI
深度解析好用项目管理工具的功能优势
在选择项目管理工具时,重点在于全面的功能和高性价比。好工具应具备资源利用图(避免过度分配或闲置资源),团队协作功能(促进沟通与进度追踪),质量管理(如问题跟踪和自定义工作流),项目规划和跟踪(甘特图支持),任务管理(任务分解和依赖关系),以及费用跟踪。Zoho Projects、Microsoft Project、Jira等工具各有价格差异,例如,对于50个用户,Microsoft Project最贵,Zoho Projects最实惠,性价比高,适合中小企业。
28 2
|
20天前
|
XML 存储 Java
Spring重要类解析
Spring重要类解析
19 0
|
29天前
|
机器学习/深度学习 人工智能 Rust
Grok-1:史上最大开源LLM的技术解析
Grok-1:史上最大开源LLM的技术解析
1231 1
|
1月前
|
JSON 数据格式
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
24 0
|
1月前
|
消息中间件 Cloud Native Java
【Spring云原生系列】SpringBoot+Spring Cloud Stream:消息驱动架构(MDA)解析,实现异步处理与解耦合
【Spring云原生系列】SpringBoot+Spring Cloud Stream:消息驱动架构(MDA)解析,实现异步处理与解耦合
|
18天前
|
安全 Java 数据安全/隐私保护
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
40 1
|
4天前
|
XML Java 数据格式
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
14 0
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
|
4天前
|
XML Java 数据格式
从入门到精通:Spring基础注解的全面解析
从入门到精通:Spring基础注解的全面解析
22 2
从入门到精通:Spring基础注解的全面解析
|
4天前
|
Java 数据库 Spring
切面编程的艺术:Spring动态代理解析与实战
切面编程的艺术:Spring动态代理解析与实战
19 0
切面编程的艺术:Spring动态代理解析与实战

推荐镜像

更多