共计 2064 个字符,预计需要花费 6 分钟才能阅读完成。
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();// 敞开条码辨认控件
}