1. 程式人生 > >Cordova各個外掛使用介紹系列(二)—$cordovaBarcodeScanner掃描二維碼與生成二維碼

Cordova各個外掛使用介紹系列(二)—$cordovaBarcodeScanner掃描二維碼與生成二維碼

這是一個用來掃描二維碼的cordova外掛,在做專案的時候想實現類似於微信的掃一掃功能,就想到了cordova的$cordovaBarcodeScanner外掛,用很少量的程式碼就可以實現了,下面來看一下具體的實現步驟:

一、掃描二維碼:

1、首先需要有一個簡單的專案,然後在命令列輸入新增外掛的命令:

cordova plugin add https://github.com/phonegap/phonegap-plugin-barcodescanner.git
2、在HTML中的程式碼如下,就是寫了一個ng-click事件來觸發此功能:
<div class="card">
  <div class="item">
    <button class="button button-block button-positive" ng-click="scanStart()">
      <i class="icon ion-qr-scanner"></i>
      Scan Now
    </button>
  </div>
</div>
<div class="card">
  <div class="item item-divider">Scan Results</div>
  <div class="item item-text-wrap">
    {{barcodeData}}
  </div>
</div>

3、在JS中的程式碼如下,這個程式碼寫在相應的控制器裡並且依賴‘$cordovaBarcodeScanner’,記得在app.js裡依賴‘ngCordova’,:
$scope.scanStart = function () {

  $cordovaBarcodeScanner
    .scan()
    .then(function (barcodeData) {
      alert(barcodeData);
      $scope.barcodeData = barcodeData;
      // Success! Barcode data is here
    }, function (error) {
      alert('失敗')
      // An error occurred
    });
};

4、這樣子就可以執行到手機上來掃描了,但是在實現了掃描的功能之後還有一個問題,如果是類似於微信的掃描的話,還需要生成屬於自己的二維碼,這個我看了下ngCordova的官方文件(http://ngcordova.com/docs/plugins/barcodeScanner/),文件中有這個功能的程式碼,但是現在似乎是不完善,所以用不了!!因此,我就找了一些用js生成二維碼的方法。

二、生成二維碼:

1、需要下載qrcode.js和jquery.js,可以到網上隨便找有很多,這裡提供一下可以下載的地方(https://github.com/davidshimjs/qrcodejs/),下載到本地之後引入到專案中

2、相關HTML的程式碼如下:

<div id="qrcode">
</div>

3、相關JS的程式碼如下:
var qrcode = new QRCode(document.getElementById("qrcode"), {
  width: 96,//設定寬高
  height: 96
});
qrcode.makeCode("http://www.baidu.com");

快來試一下吧,這樣子就生成了獨一無二的二維碼了,不過我還是期待codova官方的外掛啊,希望早一點能用!

相關推薦

Cordova各個外掛使用介紹系列—$cordovaBarcodeScanner掃描生成

這是一個用來掃描二維碼的cordova外掛,在做專案的時候想實現類似於微信的掃一掃功能,就想到了cordova的$cordovaBarcodeScanner外掛,用很少量的程式碼就可以實現了,下面來看一下具體的實現步驟: 一、掃描二維碼: 1、首先需要有一個簡單

Cordova各個外掛使用介紹系列—canvas2ImagePlugin儲存到手機本地

同樣的,我還是想說,首先我這個是做基於ionic+ngCordova+Anjularjs的專案,所以,希望大家在看之前已經瞭解了這三塊內容了,不然,可能看起來會有難度的。 一、下載相關的外掛的命令: cordova plugin add https://github.

Cordova各個外掛使用介紹系列—$cordovaGeolocation獲取當前位置

$cordovaGeolocation是可以獲取當前位置的ngCordova外掛,在專案中應用到,在這裡講解一下: 1、首先需要下載此外掛,命令是: cordova plugin add cordova-plugin-geolocation 2、在JS中的程式碼如

Cordova各個外掛使用介紹系列—$cordovaImagePicker從手機相簿選擇多張圖片

這是能從手機裡選擇多張圖片的外掛,是當時在做相機、上傳圖片相關的功能時在ngCordova官網看到的,下面簡單介紹一下它的用法: 1、首先需要有一個簡單的專案,然後在命令列輸入新增外掛的命令: cordova plugin add https://github.co

LeetCode--叉樹系列

617.合併二叉樹 給定兩個二叉樹,想象當你將它們中的一個覆蓋到另一個上時,兩個二叉樹的一些節點便會重疊。 你需要將他們合併為一個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 NULL 的節點將直接作為新二叉樹的節點。

使用迭代法對叉樹進行前序遍歷——Leetcode系列

Given a binary tree, return the preorder traversal of its nodes' values. For example: Given binary

介紹幾款Sublime Text的常用外掛及用法前端

       我上一篇介紹了Sublime Text外掛的安裝方法,今天想介紹我在用的幾款外掛,當然Sublime的外掛是非常非常多的,我介紹的肯定不會那麼多,因為今天我主要是介紹我用的外掛的使用方法

【Leetcode | 5】叉樹系列十三

traversal href first for binary {} while leet auto 一、 二、 五、二叉樹的垂直遍歷 題目:987. Vertical Order Traversal of a Binary Tree C++ Soution

R語言數據挖掘實戰系列1

數據挖掘 建模 分析 R語言數據挖掘實戰(1)一、數據挖掘基礎數據挖掘:從數據中“淘金”,從大量數據(包括文本)中挖掘出隱含的、未知的、對決策有潛在價值的關系、模式和趨勢,並用這些知識和規則建立用於決策支持的模型,提供預測性決策支持的方法、工具和過程。數據挖掘的任務利用分類與預測、聚類分析、關聯規

R語言數據挖掘實戰系列3

數據處理 統計分析 函數 繪圖 R語言數據挖掘實戰系列(3)三、數據探索 通過檢驗數據集的數據質量、繪制圖表、計算某些特征量等手段,對樣本數據集的結構和規律進行分析的過程就是數據探索。數據質量分析 數據質量分析的主要任務是檢查原始數據中是否存在臟數據,臟數據一般是指

Linux基礎學習系列

內核版本 比較 其中 問題 測試版 工具 含義 語言 復制   Linux是一種類似於UNIX的操作系統,由Linus Torvalds於1991年在minix操作系統的基礎創建。Linux憑借其優良特性已經成為目前發展潛力最大的操作系統。   Linux的版本有內核版本和

spring boot學習系列

web服務器 應用程序 spring 控制器 做什麽 spring boot開發第一個應用程序1、spring boot是什麽?2、spring boot容易上手嗎?寫這篇文章技術文章,主要是記錄日常的學習以及理解。我們重新認識一下spring假設你受命使用spring開發一個簡單的hel

C++11 並發指南系列

flag target ise shared 編程 mutex 指南 sha targe 本系列文章主要介紹 C++11 並發編程,計劃分為 9 章介紹 C++11 的並發和多線程編程,分別如下: C++11 並發指南一(C++11 多線程初探)(本章計劃 1-2 篇,已完

asp.net core入門教程系列

home padding 方式 title sys 活性 elf tro ash Asp.Net Core簡介 ASP.NET Core 是一個全新的開源、跨平臺框架,可以用它來構建基於網絡連接的現代雲應用程序,比如:Web 應用,IoT(Internet Of Thin

R語言數據挖掘實戰系列5

離群點檢測 關聯規則 時序模式 聚類分析 分類與預測 R語言數據挖掘實戰系列(5)——挖掘建模一、分類與預測分類和預測是預測問題的兩種主要類型,分類主要是預測分類標號(離散屬性),而預測主要是建立連續值函數模型,預測給定自變量對應的因變量的值。1.實現過程(1)分類分類是構造一個分類模型,

ORM框架疏理——廖雪峰實戰系列

命令 delete ica 隱式 orm mod prim 數據結構 lam ORM(Object Relational Mapping,對象關系映射),是一種程序設計技術,用於實現面向對象編程語言裏不同類型系統的數據之間的轉換。從效果上來說,它其實創建了一個可在編程語言裏

從零開始搭建android框架系列

bsp andro hup 開始 blank class and lan com 網址:從零開始搭建android框架系列 githup:https://github.com/CameloeAnthony/Ant從零開始搭建android框架系列(轉)

css動畫-animation各個屬性詳解

yellow range 空隙 定義 tro content bin ora .com CSS3的animation很容易就能實現各種酷炫的動畫,雖然看到別人的成果圖會覺得很難,但是如果掌握好各種動畫屬性,做好酷炫吊炸天的動畫都不在話下,好,切入正題。 一、動畫屬性:

DNS中的七大資源記錄介紹

多臺 .html 缺少 自己 平衡 控制 color ron read 原址 在Microsoft產品系列中,ADDS是一個很出色的設計平臺,說到AD,那麽我們就不得不提起他的合作夥伴--DNS,相信大家都知道,DNS在AD中的重要地位,就如男人和女人一樣,要想有所作為

Python操作rabbitmq系列

targe 紅色 入門 web 之間 cap ssa 隊列 技術 從本文開始,接下來的內容,我們將討論rabbitmq的相關功能。我的這些文章,最終是要實現一個項目(具體是什麽暫不透露)。前面每一篇,都是在為這個系統做準備。rabbitmq,是我們這個項目的關鍵部分之一。所