这篇文章主要为大家详细介绍了vue实现扫码功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
最近在项目中碰见一个打开摄像头扫码的功能,项目最后打包成app,用的是hBuilder打的包,刚好hBuilder打包集成H5+sdk,就可以直接用人家的sdk了。 代码实现: template div div id="bcid" div /div p ...载入中... /p /div footer button @click="startRecognize" 1.创建控件 /button button @click="startScan" 2.开始扫描 /button button @click="cancelScan" 3.结束扫描 /button button @click="closeScan" 4.关闭控件 /button /footer /div /template script type='text/ecmascript-6' let scan = null; export default { data() { return { codeUrl: '', methods: { //创建扫描控件 startRecognize() { let that = this; if (!window.plus) return; scan = new plus.barcode.Barcode('bcid'); scan.onmarked = onmarked; function onmarked(type, result, file) { switch (type) { case plus.barcode.QR: type = 'QR'; break; case plus.barcode.EAN13: type = 'EAN13'; break; case plus.barcode.EAN8: type = 'EAN8'; break; default: type = '其它' + type; break; result = result.replace(/\n/g, ''); that.codeUrl = result; alert(result); that.closeScan(); //开始扫描 startScan() { if (!window.plus) return; scan.start(); //关闭扫描 cancelScan() { if (!window.plus) return; scan.cancel(); //关闭条码识别控件 closeScan() { if (!window.plus) return; scan.close(); /script style lang="less" .scan { height: 100%; #bcid { width: 100%; position: absolute; left: 0; right: 0; top: 0; bottom:3rem; text-align: center; color: #fff; background: #ccc; footer { position: absolute; left: 0; bottom: 1rem; height: 2rem; line-height: 2rem; z-index: 2; /style 预览: 打开Hbuilder,新建项目,将目录指向 /dist ,然后右键转换成移动App,真机usb连接运行 效果图: 通过这个例子,像其他的调用手机原生功能如:语音输入、摇一摇、摄像头、文件系统、微信分享等也可以通过上述方式实现。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。 |