HBuilder webApp開發(十三)二維碼掃描
阿新 • • 發佈:2019-02-06
<body >
<header class="mui-bar mui-bar-nav white">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">二維碼掃描</h1>
</header>
<div class="mui-content">
<button id="startScan" class ="mui-btn mui-btn-success">開始掃描</button>
<button id="cancelScan" class="mui-btn mui-btn-success">取消掃描</button>
<button id="setFlash" class="mui-btn mui-btn-success">開啟/關閉閃光燈</button>
<div id= "bcid"></div>
</div>
</body>
<script >
mui.init({
swipeBack:true //啟用右滑關閉功能
});
var scan = null;
var isOpen = false; // 閃光燈是否開始標誌 true:閃光燈已經開啟 false:閃光燈關閉
// 條碼識別成功事件
function onmarked( type, 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;
}
alert( text+result );
}
// 建立掃描控制元件
function startRecognize() {
scan = new plus.barcode.Barcode('bcid');
scan.onmarked = onmarked;
}
// 開始掃描
document.getElementById("startScan").addEventListener('tap',function(){
startRecognize();
scan.start();
})
// 取消掃描
document.getElementById("cancelScan").addEventListener('tap',function(){
startRecognize();
scan.cancel();
})
// 開啟和關閉閃光燈
document.getElementById("setFlash").addEventListener('tap',function(){
startRecognize();
isOpen = !isOpen;
if(isOpen){
scan.setFlash(true);
}else{
scan.setFlash(false);
}
})
</script>
效果圖什麼的就不上了,和前面提到的文章中的效果圖基本一樣。
程式碼下載地址:請點選我!