基于MUI框架的使用HTML5+实现的二维码扫描功能

转载:https://blog.csdn.net/qq_24754061/article/details/54943655
一、简介
Barcode模块管理条码扫描,提供常见的条码(二维码及一维码)的扫描识别功能,可调用设备的摄像头对条码图片扫描进行数据输入。通过plus.barcode可获取条码码管理对象。

二、实现的效果

三、实现 代码









#bcid{
width: 100%;
height: 100%;
position: absolute;
background: #000000;
}
html, body ,div{
height:100%;
width: 100%;
}
.fbt{
color: #0E76E1;
width: 50%;
background-color: #ffffff;
float: left;
line-height: 44px;
text-align: center;
}





物品二维码扫描



<div id="bcid">   
     <!--盛放扫描控件的div-->          
</div>

<div class="mui-bar mui-bar-footer" style="padding: 0px;">
    <div class="fbt" onclick="scanPicture();">从相册选择二维码</div>
    <div class="fbt mui-action-back">取  消</div>
</div>

<script type="text/javascript">
       scan = null;//扫描对象
    mui.plusReady(function () {
          mui.init();
      startRecognize();
       });

    function startRecognize(){
       try{
          var filter;
         //自定义的扫描控件样式
         var styles = {frameColor: "#29E52C",scanbarColor: "#29E52C",background: ""}
        //扫描控件构造
        scan = new plus.barcode.Barcode('bcid',filter,styles);
        scan.onmarked = onmarked; 
        scan.onerror = onerror;
        scan.start();
        //打开关闭闪光灯处理
        var flag = false;
        document.getElementById("turnTheLight").addEventListener('tap',function(){
           if(flag == false){
              scan.setFlash(true);
              flag = true;
           }else{
             scan.setFlash(false);
             flag = false;
           }
        });
      }catch(e){
        alert("出现错误啦:\n"+e);
         }
      };
        function onerror(e){
                alert(e);
        };
        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 scanPicture() {
        plus.gallery.pick(function(path){
            plus.barcode.scan(path,onmarked,function(error){
                plus.nativeUI.alert( "无法识别此图片" );
            });
        },function(err){
            plus.nativeUI.alert("Failed: "+err.message);
        });
    }       

    </script>
</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值