首页前端开发HTML基于MUI框架使用HTML5实现的二维码扫描功能

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

时间2024-01-24 22:22:43发布访客分类HTML浏览414
导读:收集整理的这篇文章主要介绍了基于MUI框架使用HTML5实现的二维码扫描功能,觉得挺不错的,现在分享给大家,也给大家做个参考。 Barcode的一个实现案例一、简介 Barcode模块管理条码扫描,提供常见的条码(二...
收集整理的这篇文章主要介绍了基于MUI框架使用HTML5实现的二维码扫描功能,觉得挺不错的,现在分享给大家,也给大家做个参考。

Barcode的一个实现案例

一、简介

        Barcode模块管理条码扫描,提供常见的条码(二维码及一维码)的扫描识别功能,可调用设备的摄像头对条码图片扫描进行数据输入。通过plus.barcode可获取条码码管理对象。

二、实现的效果

三、实现 代码

!doctyPE htML>
      html>
         head>
          meta charset="UTF-8">
          tITle>
    /title>
          meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
          link href="css/mui.min.css" rel="stylesheet" />
          script src="js/mui.min.js">
    /script>
          style type="text/css">
          #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;
          }
          /style>
         /head>
        body>
          header class="mui-bar mui-bar-nav" style="background-color: #ffffff;
    ">
            a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left">
    /a>
            h1 class="mui-title" style="color: #0E76E1;
    ">
    物品二维码扫描/h1>
            span class="mui-icon mui-icon-spinner-cycle mui-spin mui-pull-right" id="turnTheLight">
    /span>
          /header>
          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>
      /html>
      

三、做的过程中遇见的问题

   a,div占满整个页面

       1,此div宽高都为100%,父级元素的高度也为此(依次类推直至根节点),或者此div的position为absolute;

       2,可采用js动态设置页面宽高

var height = window.innerHeight + 'px';
    //获取页面实际高度  var width = window.innerWidth + 'px';
      document.getElementById("bcid").style.height= height;
      document.getElementById("bcid").style.width= width;
        

b,扫描控件有上下边距

采用填充黑色来淡化视觉上面的差异,未实际解决,(如果你解决的话,欢迎留言,谢谢)

总结

以上所述是小编给大家介绍的基于Mui框架使用HTML5实现的二维码扫描功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

html5mui框架二维码二维码扫描

若转载请注明出处: 基于MUI框架使用HTML5实现的二维码扫描功能
本文地址: https://pptw.com/jishu/585819.html
html5.2 dialog简介详解 HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码

游客 回复需填写必要信息