【vue】 上传快递单条形码 识别单号

第三方插件:quagga.js
二维码插件:qrcodejs2.js(本篇未用到)
安装条形码插件库 npm i quagga -s -d

在需要的页面引入:
import Quagga from 'quagga' // 条形码 import QRCode from 'qrcodejs2'
<el-upload action="" :show-file-list="false" :http-request="thumbupdateUpload">
            <el-button style="margin-bottom: 10px" icon="el-icon-thumb">点击上传快递单条形码</el-button>(识别单号)
 </el-upload>
<div v-if="express_img">
            <el-image :src="express_img" fit="contain" class="thumbUrl" :preview-src-list="[express_img]" :z-index="3000" />
 </div>
 // 识别物流信息
    thumbupdateUpload(params) {
      const file = params.file
      const imgType = ['image/png', 'image/jpg', 'image/jpeg']
      if (imgType.indexOf(file.type) === -1) {
        this.$message.warning('上传图片格式必须为: png或jpg格式')
        return false
      }
      // this.express_img = URL.createObjectURL(file) //赋值图片的url,用于图片回显功能
      let _this = this
      if(file){
        let reader = new FileReader()
        reader.readAsDataURL(file)
        reader.onloadend = function() {
          let img = new Image()
          img.src = reader.result
          _this.init(img.src) // init函数,路径为参数
        }
      }
    },

    init(src){
      let _this = this
      const config = {
        locator: {
          patchSize: "medium",
          halfSample: true
        },
        numOfWorkers: (navigator.hardwareConcurrency ? navigator.hardwareConcurrency : 4),
        decoder : {
          readers: ["code_128_reader", "ean_reader", "ean_8_reader", "code_39_reader", "code_39_vin_reader", "codabar_reader", "upc_reader", "upc_e_reader", "i2of5_reader"], // List of active readers
        },
        locate: true,
        src:src
      }
      Quagga.decodeSingle(config,function(result) {
        if(!result){
          _this.$message.error('图片中没有条形码!')
          return false;
        }
        //识别结果
        if(result.codeResult){
          _this.addForm.express_number = result.codeResult.code
          _this.express_img = src // 图片回显
        }else{
          _this.$message.error('未识别图片中条形码!')
        }
      })
    },
   
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容