app扫描二维码性能:
html:
<div id="bcid"></div>
js代码:
scan = null; //扫描对象
//初始化页面
mui.plusReady(function () {
mui.init({ swipeBack: true, //开启右滑敞开性能(默认就是false) keyEventBind: { backbutton: true //开启back按键监听(默认就是true) }});var filter;//自定义的扫描控件款式var styles = {frameColor: "#29E52C",scanbarColor: "#29E52C",background: "",};//扫描控件结构scan = new plus.barcode.Barcode('bcid',filter,styles); startRecognize();
//调用摄像头,扫描二维码
function startRecognize() {
console.log('调用摄像头,扫描二维码')try { scan.onmarked = onmarked; //调用onmarked办法 scan.onerror = onerror; //调用onerror办法 scan.start(); //关上敞开闪光灯解决 var flag = false; document.getElementById("turnTheLight").addEventListener('tap', function() { console.log('关上敞开闪光灯解决',flag) if (flag == false) { scan.setFlash(true); flag = true; } else { scan.setFlash(false); flag = false; } }); } catch (e) { alert("呈现谬误啦:\n" + e); scan.cancel();//完结条码辨认 scan.close();//敞开条码辨认控件 }
}
function onerror(e) {
console.log(e);
}
//读取扫描数据
function onmarked(type, result) {
console.log('onmarked::type', type)
console.log('onmarked::result',result)
var text = '';
switch (type) {
case plus.barcode.QR:
text = 'QR: '; break;
case plus.barcode.EAN13:
text = 'EAN13: '; break;
case plus.barcode.EAN8:
text = 'EAN8: '; break;
}
var equipmentCode = "";//寄存二维码读取的设施编码
try {
var equipmentInfo = result;//二维码扫描的后果 // var str2 = equipmentInfo.split(";")[0];//以;分,去第一局部 // equipmentCode = str2.split(":")[1];//依据str2的内容,以:分,获取前面局部 console.log('二维码扫描的后果',equipmentInfo) if(equipmentInfo!=""&&null!=equipmentInfo){ if(equipmentInfo.indexOf(";")!=-1){ var emquipmentInfoStr1 = equipmentInfo.split(";")[0];//以;分,取第一局部 equipmentCode = emquipmentInfoStr1.split(":")[1];//依据str2的内容,以:分,获取前面局部 }else{ equipmentCode = equipmentInfo.split(":")[0];//以分,取第一局部 } }
} catch (e) {
equipmentCode = "";
}
if (equipmentCode != "" && null != equipmentCode) {//二维码中读取设施编码不为空
scan.cancel();//完结条码辨认 scan.close();//敞开条码辨认控件 getScanSuccess(equipmentCode); //获取胜利,执行办法
} else {
mui.alert("二维码信息谬误,请查看二维码的起源。",function end(){window.location.reload()}); scan.cancel();//完结条码辨认 scan.close();//敞开条码辨认控件
}
}
//扫描胜利
function getScanSuccess(equipmentCode){
console.log('扫描胜利操作',equipmentCode)
}
//退回
function returnBack() {
console.log('returnBack',turnBackType)
scan.cancel();//完结条码辨认
scan.close();//敞开条码辨认控件
}