zoukankan      html  css  js  c++  java
  • vue调取摄像头的方法(可以直接使用)

    <template>
    <div>
    <div class="scan">
        <span class="prev" v-on:click="back">《</span>
        <div id="bcid">
          <div style="height:40%"></div>
          <!-- <p class="tip">...载入中...</p> -->
        </div>
        <!-- <footer> -->
          <!-- <button @click="startRecognize">开始扫描</button> -->
          <!-- <button @click="startScan">2.开始扫描</button> -->
          <!-- <button @click="cancelScan">3.结束扫描</button> -->

          <!-- <button @click="closeScan">结束扫描</button> -->
        <!-- </footer> -->
      </div>
    </div>
      
    </template>

    <script type='text/ecmascript-6'>
      let scan = null;

      export default {
        data() {
          return {
            codeUrl: '',
          }
        },
        mounted(){
          this.startRecognize()
        },
        methods: {
           back() {
          this.$router.go(-1);
        },
          //创建扫描控件
          startRecognize() {
            let that = this;
            if (!window.plus) return;
            scan = new plus.barcode.Barcode('bcid');
            scan.onmarked = onmarked;

            function onmarked(type, result, file) {
              switch (type) {
                case plus.barcode.QR:
                  type = 'QR';
                  break;
                case plus.barcode.EAN13:
                  type = 'EAN13';
                  break;
                case plus.barcode.EAN8:
                  type = 'EAN8';
                  break;
                default:
                  type = '其它' + type;
                  break;
              }
              result = result.replace(/\n/g, '');
              that.codeUrl = result;
              alert(result);
              that.closeScan();

            }
          },
          
          //开始扫描
          startScan() {
            if (!window.plus) return;
            scan.start();
          },
          //关闭扫描
          cancelScan() {
            if (!window.plus) return;
            scan.cancel();
          },
          //关闭条码识别控件
          closeScan() {
            if (!window.plus) return;
            scan.close();
          },
        }
      }
    </script>
    <style>
      .scan {
        height: 100%;
       
        
      }
       #bcid {
           100%;
          position: absolute;
          left: 0;
          right: 0;
          top: 0;
          bottom:3rem;
          text-align: center;
          color: #fff;
          background: #ccc;
        }
        footer {
          position: absolute;
          left: 0;
          bottom: 1rem;
          height: 2rem;
          line-height: 2rem;
          z-index: 2;
        }
        footer button{
          height: 0.88rem;
          line-height: 0.88rem;
          text-align: center;
          background-color: #f4f4f4;
          color: #fff;
        }
        .prev {
      position: absolute;
      display: inline-block;
      height: 0.36rem;
       0.36rem;
      background-size: 0.36rem 0.36rem;
      vertical-align: middle;
      left: 0.18rem;
      top: 0.17rem;
      z-index: 100;
    }
    </style>
  • 相关阅读:
    【css】容器撑满浏览器--- height:100%
    【实践】js六道有趣的题
    【Canvas】树冠
    asp.net上传Excel文件到服务端进行读取
    HttpContext.Current多线程调用
    abstract修饰符,具体类与抽象类的区别
    如何快速恢复MyEclipse的默认主题
    日历源代码
    for语句应用:乘法表
    Java的优先级
  • 原文地址:https://www.cnblogs.com/ilylmy/p/13587160.html
Copyright © 2011-2022 走看看