日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

本文主要講述的是采用瀏覽器來識(shí)別二維碼 / 條形碼等,并對(duì)其解析得到相應(yīng)的結(jié)果。還有一個(gè)目的就是為了驗(yàn)證 iphone 是否無法自動(dòng)開啟攝像頭進(jìn)行掃描。需求也非常簡(jiǎn)單,就是用 Web 瀏覽器實(shí)現(xiàn)二維碼的掃描及解析,我做了個(gè)簡(jiǎn)單的 Demo 放在 Github 上面,可以體驗(yàn)一下,若用得上,可下載源碼試試。

H5 實(shí)現(xiàn)二維碼 / 條形碼的識(shí)別與解析

Safari 掃描二維碼及解析結(jié)果

Vue3 + Vite + Ant-Design-Vue + ZXing,該 Demo 主要的技術(shù)及其相應(yīng)的依賴。對(duì)于 Vue3 + Vite 項(xiàng)目的構(gòu)建,可以自行查看官網(wǎng)教程,至于 Ant-Design-Vue 和 ZXing-JS,需要注意的是 Ant-Design-Vue 的安裝記得加個(gè) @next 版本,其它無異。

# 構(gòu)建項(xiàng)目后運(yùn)行
npm init vite-App miitvip-scan-demo
cd miitvip-scan-demo
npm install
npm run dev

# 安裝依賴
npm i ant-design-vue@next --save
npm i @zxing/library --save

Template

video 標(biāo)簽用于顯示攝像頭內(nèi)容

<template>
	<video class="video" id="video" ref="video" autoplay></video>
</template>
H5 實(shí)現(xiàn)二維碼 / 條形碼的識(shí)別與解析

Safari 提示網(wǎng)站需要獲取相機(jī)權(quán)限

OpenCamera

拉起攝像頭,若獲取不到媒體設(shè)備的列表,則簡(jiǎn)單的拋出個(gè)錯(cuò)誤提示。

async openCamera() {
  this.$message.success({
    content: '正在嘗試?yán)饠z像頭 ...',
    duration: 0
  })
  if (!navigator.mediaDevices) {
    this.$message.destroy()
    this.iphone = true
    this.$message.success({
      content: 'iPhone 其它瀏覽器無權(quán)限自動(dòng)開啟攝像頭 ...',
      duration: 0
    })
  } else {
    this.reader.listVideoInputDevices().then((devices) => {
      this.decode(devices[0].deviceId)
    }).catch((err) => {
      this.errMsg = err
      this.$message.destroy()
      this.$message.error({
        content: err,
        duration: 0
      })
    })
  }
}
H5 實(shí)現(xiàn)二維碼 / 條形碼的識(shí)別與解析

拉起攝像頭,進(jìn)入掃描狀態(tài)

Decode

decode 解析內(nèi)容,這里采用的是單次解析,即掃描成功后需要重新刷新一下頁(yè)面方可再次進(jìn)行識(shí)別操作,若要多次掃描,可用 decodeFromInputVideoDeviceContinuously 方法去識(shí)別。

decode(id: any) {
  this.reader.reset()
  this.$message.destroy()
  this.$message.success({
    content: '正在嘗試識(shí)別,請(qǐng)對(duì)準(zhǔn)攝像頭 ...',
    duration: 0
  })
  this.reader.decodeOnceFromVideoDevice(id, 'video').then((res) => {
    this.$message.destroy()
    this.content = res.text
    this.time = new Date(res.timestamp)
    this.modalVisible = true
  }).catch((err) => {
    this.$message.destroy()
    this.$message.error({
      content: '識(shí)別失敗,請(qǐng)刷新后再次嘗試 ...',
      duration: 0
    })
    this.errMsg = err
  })
}
H5 實(shí)現(xiàn)二維碼 / 條形碼的識(shí)別與解析

非 Safari 瀏覽器無權(quán)自動(dòng)拉起相機(jī) - iPhone

總結(jié)

https://github.com/lirongtong/miitvip-scan-demo

https://scan.makeit.vip/

最后的結(jié)果就是:iPhone 中,除了自帶的 Safari 瀏覽器外,其它任何的瀏覽器,都無法自動(dòng)拉起相機(jī),沒有這個(gè)權(quán)限,但是我們可以采用折中的方式,即用拍照的形式來進(jìn)行識(shí)別,可以用如下的代碼語(yǔ)句來拉起攝像頭,拍照后識(shí)別照片內(nèi)容,我在 Demo 上也做了,但是識(shí)別的效果卻是不如攝像頭實(shí)時(shí)掃描的好,正確率很低,常常識(shí)別失?。ㄉ鲜鰞蓚€(gè)地址分別為 Github 與 Demo 地址)。

<input class="file" type="file" ref="camera" capture="camera" accept="image/*" @change="change" />
H5 實(shí)現(xiàn)二維碼 / 條形碼的識(shí)別與解析

拍照的也能識(shí)別,但正確率比較低

分享到:
標(biāo)簽:二維碼
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定