欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實現(xiàn)掃碼功能

 更新時間:2020年01月17日 16:30:03   作者:小黑ii  
這篇文章主要為大家詳細介紹了vue實現(xiàn)掃碼功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

最近在項目中碰見一個打開攝像頭掃碼的功能,項目最后打包成app,用的是hBuilder打的包,剛好hBuilder打包集成H5+sdk,就可以直接用人家的sdk了。

demo地址:vue-scan-demo

代碼實現(xiàn):

<template>
 <div class="scan">
 <div id="bcid">
  <div style="height:40%"></div>
  <p class="tip">...載入中...</p>
 </div>
 <footer>
  <button @click="startRecognize">1.創(chuàng)建控件</button>
  <button @click="startScan">2.開始掃描</button>
  <button @click="cancelScan">3.結束掃描</button>

  <button @click="closeScan">4.關閉控件</button>
 </footer>
 </div>
</template>

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

 export default {
 data() {
  return {
  codeUrl: '',
  }
 },
 methods: {
  //創(chuàng)建掃描控件
  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 lang="less">
 .scan {
 height: 100%;
 #bcid {
  width: 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;
 }
 }
</style>

預覽:

打開Hbuilder,新建項目,將目錄指向 /dist ,然后右鍵轉換成移動App,真機usb連接運行

效果圖:

通過這個例子,像其他的調用手機原生功能如:語音輸入、搖一搖、攝像頭、文件系統(tǒng)、微信分享等也可以通過上述方式實現(xiàn)。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Vue中watch監(jiān)聽首次不生效的解決辦法

    Vue中watch監(jiān)聽首次不生效的解決辦法

    在 Vue 中,watch 屬性用于觀察和響應 Vue 實例上數(shù)據(jù)的變動,然而,默認情況下,watch 確實不會觸發(fā)組件創(chuàng)建時的變動,這里有幾種方式可以處理或繞過這個問題,需要的朋友可以參考下
    2024-09-09
  • 如何使用vue3+uni-app封裝音樂播放插件

    如何使用vue3+uni-app封裝音樂播放插件

    UniApp是一個基于Vue.js開發(fā)的跨平臺應用開發(fā)框架,它可以使用一套代碼同時構建iOS、Android和Web應用,這篇文章主要給大家介紹了關于如何使用vue3+uni-app封裝音樂播放插件的相關資料,需要的朋友可以參考下
    2023-11-11
  • 淺談vue中get請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題

    淺談vue中get請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題

    這篇文章主要介紹了淺談vue中get請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue中將el-switch值true、false改為number類型的1和0

    vue中將el-switch值true、false改為number類型的1和0

    這篇文章主要介紹了vue中將el-switch值true、false改為number類型的1和0問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue .sync修飾符的使用詳解

    vue .sync修飾符的使用詳解

    這篇文章主要介紹了vue .sync修飾符的使用,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • 詳解vue 數(shù)據(jù)傳遞的方法

    詳解vue 數(shù)據(jù)傳遞的方法

    這篇文章給大家介紹了vue數(shù)據(jù)傳遞的方法,包括,父組件向子組件傳值 ,子組件向父組件傳值 ,路由傳值等多種方法,需要的朋友參考下
    2018-04-04
  • vue2.0 兄弟組件(平級)通訊的實現(xiàn)代碼

    vue2.0 兄弟組件(平級)通訊的實現(xiàn)代碼

    這篇文章主要介紹了vue2.0 兄弟組件(平級)通訊的實現(xiàn)代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Element?ui中menu組件(el-menu/el-menu-item/el-submenu/template)層級結構與用法示例

    Element?ui中menu組件(el-menu/el-menu-item/el-submenu/template)

    最近在使用Element開發(fā)時遇到了不少問題,下面這篇文章主要給大家介紹了關于Element?ui中menu組件(el-menu/el-menu-item/el-submenu/template)層級結構與用法的相關資料,需要的朋友可以參考下
    2022-12-12
  • table表格中使用el-popover 無效問題解決方法

    table表格中使用el-popover 無效問題解決方法

    這篇文章主要介紹了table表格中使用el-popover 無效問題解決方法,實例只針對單個的按鈕管用在表格里每一列都有el-popover相當于是v-for遍歷了 所以我們在觸發(fā)按鈕的時候并不是單個的觸發(fā)某一個,需要的朋友可以參考下
    2024-01-01
  • 基于vue 實現(xiàn)token驗證的實例代碼

    基于vue 實現(xiàn)token驗證的實例代碼

    這篇文章主要介紹了基于vue 實現(xiàn)token驗證的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-12-12

最新評論