微信小程序官网_vue完成扫码功用

2021-01-06 15:37| 发布者: | 查看: |

这篇文章主要为大家详细介绍了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连接运行

效果图:

通过这个例子,像其他的调用手机原生功能如:语音输入、摇一摇、摄像头、文件系统、微信分享等也可以通过上述方式实现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。


<
>

 
QQ在线咨询
售前咨询热线
18720358503
售后服务热线
18720358503
返回顶部