UniGui扫描二维码

发布于 2019-05-28  3.72k 次阅读


最近有不少人问,如何使用unigui进行扫码。所以在此写篇文章统一解释下。

首先,UniGui能不能使用扫码功能?答案是:可以,但是有使用条件,并且有兼容问题,所以不是很建议直接使用UniGui进行扫码操作。后面会再写篇文章,使用HBuilder做一个APP壳,嵌套UniGui的页面,UniGui调用APP壳的扫码功能。

此处先介绍一下UniGui使用扫码功能:

方法一,流程是:使用Media.Video打开摄像头,然后连续获取摄像头的画面绘制到Canvas上,然后再使用QrCode.js对Canvas的图像进行二维码识别。另外:如果要使用摄像头,必须是HTTPS,HTTP站点浏览器不会开启摄像头功能。

方法二,使用UnimFileUpload,打开摄像头拍照并上传,然后服务端接收到页面上传的图片后调用QrCode.dll对图片进行识别。

方法二兼容性好,但是效率偏低,每次都要拍照上传再识别,假如拍照的时候不清晰,都无法识别,需要重新拍照。

方法一是在前端不断获取图像,识别出结果后把结果发送到后端,速度快,效率高。但是存在一定的兼容问题(IOS下很多浏览器默认不开启摄像头功能,无法获取图像)。

实际上我们可以回忆以下,日常浏览网页的时候,很少有看到有网站会直接使用扫码功能,因为有各种限制,无论是方法一还是方法二确实不是很方便。

下面是我用方法一写的一个UniGui在线扫描二维码的Demo:

点击打开:UniGui扫描二维码Demo

老规矩,源码随后发,文章下方有打赏... 有打赏... 有打赏...


谁还不是宝宝了