| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 实现解析二维码信息(健康码) -> 正文阅读 |
|
[Java知识库]实现解析二维码信息(健康码) |
文章目录前言由于深圳疫情愈发严重,公司的疫情防控系统便有了新需求:员工上传健康码解析数据并记录至后台;
一、如何解析健康码?众嗦粥汁,健康码实际上就是二维码,我焯!二维码还不简单,直接调用一些工具类不就能解析出来了,但是健康码不同,传统的二维码都是黑色色块组成的,而健康码有绿,黄,红,三种颜色,有的工具类可以解析绿,黄健康码,却解析不了红码,不止于此,在实现这个需求有了很多踩坑的地方; 二、踩过的坑?如上文所说,无法实现不同颜色的健康码解析,于是我做出了很多的尝试; 2.1、前端做处理一开始是打算在前端做处理,用画布(canvas)配合jsQR去做解析,但画布只能解析绿,红码,黄码是解析不出来的, 2.2、后端接口解析后端接收图片,然后通过工具类去进行解析,谷歌有提供相应的解析工具类; 2.2.1、依赖2.2.2、相关代码
结果发现,此方案只能解析绿码,不能解析黄,红码,这就很操蛋了,于是从码的颜色动手; 2.2.3、将健康码颜色变灰/黑色我从后端使用hutool的工具类把图片改成灰/黑色是不是就可以解析成功了? 2.2.4、剪切一半健康码这边还是用hutool工具类去进行图片的剪切 2.2.6、python解析python似乎在处理这些东西的时候更强大,不如在接口处去调python库怎么样? 2.2.7、第三方接口解析第三方接口:链接: 解析二维码. 我发现一些第三方解析网址可以解析出健康码的信息,不知道他们后台是怎么实现的,我上传的健康码再他们网站上可以解析出数据,在接口去调第三方接口可以解析,但是功能依赖别人肯定是不太好的,万一第三方网址服务挂了怎么办呢? 2.2.8、使用hutool的二维码解析器咦,居然hutool这么强大,那他的二维码解析器也一定很强大吧,找找hutool是否有相关的工具类? 2.2.8.1、依赖2.2.8.2、相关代码
很遗憾,这个能解析绿,黄码,不能解析红码;但是?此次的尝试让我突发奇想,既然前端可以解析绿,红码,后端可以解析黄码,那是不是可以先前端用画布去解析健康码,解析不了的再丢给后端,前后端互相补足,这不就实现了吗? 2.3、前后端互相补足实现解析那么前端用画布搭配jsQR,后端用hutool解析器,代码如下 2.3.1、前端2.3.1.1、上传图片控件前端用的Vue+Vant框架 2.3.1.2、前端代码逻辑
2.3.1.3、前端jsQR解析#### 2.3.1.4、请求后端接口解析 2.3.1.4、图片大小限制2.3.1.5、粤康码(深圳)解析由于要解析俩种健康码,这是粤康码(深圳)的解析方案,可以忽略此方案,个人只是记录; 2.3.1.6、前端接口请求2.3.2、后端2.3.2.1、依赖2.3.2.2、相关实现总结比较蛋疼,小老弟比较菜,只能说比较妥协的处理了这个需求,如果有大佬能有更好的解决方案,欢迎评论区指出见解,谢谢小老板了; |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:38:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |