vue h5+app 扫描功能实现,笔记

本文介绍了一种在手机或模拟器上实现条码扫描的方法,通过使用plus.barcode.Barcode API,可以创建并控制条码扫描控件,支持二维码、EAN13和EAN8等类型,并详细展示了如何在Vue项目中集成该功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.需在手机或者模拟器中测试,以下代码直接粘贴复制即可,

<template>
  <div class="scan">
    <div id="bcid">
      <div style="height:40%"></div>
    </div>

  </div>
</template>

<script type='text/ecmascript-6'>
  let scan = null;
  export default {
    data() {
      return {
        codeUrl: '',
      }
    },
    destroyed(){// 实例销毁后关闭扫描控件
      let _this = this;
      _this.closeScan();
    },
    mounted(){// 实例挂载时创建扫描控件
      let _this = this;
      setTimeout(()=>{
        _this.startRecognize();
      },1000);
    },
    methods: {
      //创建扫描控件
      startRecognize() {
        let _this = this;
        if (!window.plus) return;
        scan = new plus.barcode.Barcode('bcid');//创建扫描控件
        scan.onmarked = onmarked;
        _this.startScan();//开始扫描
        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, '');
          _this.codeUrl = result;// 获取扫描结果
          alert(that.codeUrl);
          _this.closeScan();// 得到结果后关闭控件
          window.location.href = that.codeUrl;// 跳转路径
        }
      },
      //开始扫描
      startScan() {
        if (!window.plus) return;
        scan.start();
      },
      //关闭扫描
      cancelScan() {
        if (!window.plus) return;
        scan.cancel();
      },
      //关闭条码识别控件
      closeScan() {
        if (!window.plus) return;
        scan.close();
      },
    }
  }
</script>
<style lang="stylus" scoped>
  .scan{
    height: 100%;
    #bcid{
      width: 100%;
      height: 100%;
      text-align: center;
      color: #fff;
      background :#cccccc;
    }
  }

</style>

tips:mounted函数调取创建控件方法时,直接调用会失败,当延时后才会成功

VueScan可以利用以下设备的高级硬件能力:尼康 LS-30/LS-2000,美能达 Dimage ScanDual,惠普PhotoSmart,尼康 LS-20/LS-1000,宝丽来 SprintScan 35/LE/ES/+,和佳能 CanoScan2700F底片扫描仪。利用 VueScan,你能够比平板扫描扫描照片更多地控制最终的图像。 VueScan 的特性包括:支持 200 种以上的底片类型,在剪取图像时制成关联单,复杂的白色平衡算法,用于检查物体表面暇疵的红外线底片扫描,成批扫描,自动剪取图像,等等。 VueScan是著名的第三方底片扫描仪驱动程序,支持市场可见绝大多数型号的底片扫描仪,可以更为灵活地控制扫描过程,更深入地发掘硬件潜力,获取色彩 完美的高质量扫描结果。VueScan支持200种以上的底片类型,在剪取图像时制成关联单,复杂的白色平衡算法,用于检查物体表面暇疵的红外线底片扫 描,成批扫描,自动剪取图像等等。 随着软件的走红,Vuescan不断升级,功能不断完善,应用界面也越来越美观实用,最后,很多扫描仪厂商干脆将它作为自己扫描仪的配套驱动程序。 随着数码相机的流行,RAW成为很多喜欢的文件格式,Vuescan也与时俱进,增加了RAW文件转换功能,凭借其优秀的图像算法,在RAW文件转换方 面,vuescan也独树一帜。如今,Vuescan已经发展成为一款多功能的图像处理软件,支持多达750款各类扫描仪和200多款能记录RAW文件的 数码相机,并支持Adobe的DNG数字底片格式! 功能: 支持1200种扫描仪 运行在Mac OS X,Windows和Linux 提高您的工作效率和质量的扫描 创建原始扫描文件 ICC配置文件和色彩空间 IT8色彩校正 注册信息: E-mail Address:wayne@dahaoren.com Serial Number:108824250 Customer Number:1560318833 或者(OR) E-mail Address:www@yyyww.com Serial Number:115973638 Customer Number:1608838852
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值