最近有不少人问,如何使用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
老规矩,源码随后发,文章下方有打赏... 有打赏... 有打赏...
Comments | NOTHING