在一些涉及支付功能的app,一般需要绑定银行卡,除了靠用户手动输入银行卡号,用手机扫描银行卡也是一种常用的手段,查阅了写资料,发现ionic有CardIO插件可以实现这个功能,就兴致冲冲去尝试,结果有些失望。
下面介绍一下如何在ionic中使用CardIO实现扫描银行卡功能
相关CardIO插件的ngCordova说明

1、在入口文件main.js 中

const app = angular.module("app", ["ionic", "ngCordova", "ngAnimate", "ngCordova.plugins.cardIO"]);

app.config(function ($ionicConfigProvider,  $cordovaNgCardIOProvider) {
"use strict"; $cordovaNgCardIOProvider.setScanerConfig( // 配置显示的参数
{
"expiry": false,
"cvv": false,
"zip": false,
"suppressManual": false,
"suppressConfirm": false,
"hideLogo": true
}
); $cordovaNgCardIOProvider.setCardIOResponseFields( // 配置返回的参数
[
"card_type",
"redacted_card_number",
"card_number",
"expiry_month",
"expiry_year",
"short_expiry_year",
"cvv",
"zip"
]
);
});

2、在controller文件中使用

angular.module("app").controller("mineCtrl", ["$scope", "$cordovaNgCardIO",
function ($scope $cordovaNgCardIO) {
"use strict"; $scope.scanBankcard = () => {
$cordovaNgCardIO.scanCard()
.then(function (response) { // 扫描成功
//Success response - it`s an object with card data
console.log("Success response");
console.log(response);
},
function (response) { // 取消扫描
//We will go there only when user cancel a scanning.
//response always null
console.log("when cancel scanning");
console.log(response);
});
}; }]);

3、在html中

<ion-view view-title="扫描银行卡">
<ion-content>
<i ng-click="scanBankcard ()" class="icon ion-camera"></i>
</ion-content>
</ion-view>

尝试了以后效果不是很理想,CardIO插件只能扫描16位以下,并且是浮雕数字的银行卡,无法满足设计需求,只能暂时放弃。如有大家有什么解决办法,欢迎交流

参考文章:
ionic使用cardio报错

ionic使用CardIO实现扫描银行卡功能(只能扫描16位以下,并且是浮雕数字)的更多相关文章

  1. ionic实现双击返回键退出功能

    实现这个功能需要四个步骤: 步骤一: 说明:因为需要和手机的硬件(返回按钮)打交道,而ionic本身是不具备该功能的,但是有一个东西可以:ng-cordova插件,这个插件是phoneGap为了能让i ...

  2. 使用ownCloud搭建你的个人云服务(ubuntu 14.04 server)(ownCloud对文件不切片,Seafile对文件切片),owncloud没有存储的功能 只能同步 本地删除了服务器也会删除

    ownCloud是什么 ownCloud是一个自由且开源的个人云存储解决方案(类似百度网盘或者Dropbox),包括两个部分:服务器和客户端. ownCloud在客户端可通过网页界面,或者安装专用的客 ...

  3. 如何Android中加入扫描名片功能

    要想实现android手机通过扫描名片,得到名片信息,可以使用脉可寻提供的第三方SDK,即Maketion ScanCard SDK,脉可寻云名片识别服务.他们的官方网站为http://www.mak ...

  4. ionic实现下载文件并打开功能(file-transfer和file-opener2插件)

    作为一款app,下载文件功能,和打开文件功能,在某些场景下还是十分有必要的.使用cordova-plugin-file-transfer和cordova-plugin-file-opener2这两个插 ...

  5. Android OCR文字识别 实时扫描手机号(极速扫描单行文本方案)

    身份证识别:https://github.com/wenchaosong/OCR_identify 遇到一个需求,要用手机扫描纸质面单,获取面单上的手机号,最后决定用tesseract这个开源OCR库 ...

  6. Android限定EditText的输入类型为数字或者英文(包括大小写),EditText,TextView只能输入两位小数

    Android限定EditText的输入类型为数字或者英文(包括大小写) // 监听密码输入框的输入内容类型,不可以输入中文    TextWatcher mTextWatcher = new Tex ...

  7. hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

    相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...

  8. input和React-Native的TextInput的输入限制,只能输入两位小数(阻止0开头的输入),类似价格限制

    一.背景: 想要实现一功能: 1. 最多只能输入两位小数,类似的价格限制 2. 实时监听限制输入,禁止输入不符合规范的字符(当输入违禁字符,进行删除操作) 这样做的优点: 1. 在用户输入时直接进行限 ...

  9. HOLOLENS 扫描特效 及得出扫描结果(SurfacePlane)

    HOLOLENS 扫描特效 及得出扫描结果(SurfacePlane) 要求只扫出地板和墙, 由于地板和墙面积较大 扫描结果 HOLOTOOLKIT老版本点在参数调节PlaneFinding.Find ...

随机推荐

  1. python 输出对齐

    几种不同类型的输出对齐总结: 先看效果: 采用.format打印输出时,可以定义输出字符串的输出宽度,在 ':' 后传入一个整数, 可以保证该域至少有这么多的宽度. 用于美化表格时很有用. >& ...

  2. 论文阅读 | HotFlip: White-Box Adversarial Examples for Text Classification

    [code] [pdf] 白盒 beam search 基于梯度 字符级

  3. 并发-synchronized

    线程并发-synchronized和Lock简单认知 前几天刚加深了线程的了解,期间在验证各种方法及多线程时遇到一些疑问,在高并发的情况下,怎么做才能保证程序还能按照我们预期的正常运行下去,这就是我们 ...

  4. 使用Spring-boot-admin对Spring boot的服务进行监控

    要进行监控,需要两个Project,一个是Admin Server端,负责监控Spring boot的项目,另一个是Admin Client端,是被监控的Spring boot服务. Admin Se ...

  5. php exec执行不等待返回结果

    windows中:pclose(popen("start php.exe test.php","r"));lnuix中: pclose(popen(" ...

  6. java lesson20homework

    package com.xt.lesson20; /** * 简易自动提款机 1. 创建用户类User(包含卡号.姓名.密码.余额等属性),用户开卡时录入的姓名和密码(自动分配一个卡号.初始金额设置为 ...

  7. Windows10出现打开EXE应用程序错误

    运行部分EXE文件,弹出错误“该文件没有与之关联的程序来执行该操作 右键开始菜单, PowerShell(管理员)  也是一样 连安装程序Vs2017都无法启动,用了多种方法都不能搞定. 花了不少时间 ...

  8. Length of LOB data (190999) to be replicated exceeds configured maximum 65536. 错误修改

    在上传附件时,本地是可以的但服务器上就有了文件大小的限制,不能上传.经过打断点找到这样一个错误: Length of LOB data (190999) to be replicated exceed ...

  9. Redis之过期策略

    一.设置过期时间 Redis对存储值的过期处理实际上是针对该值的键(key)处理的,即时间的设置也是设置key的有效时间.Expires字典保存了所有键的过期时间,Expires也被称为过期字段. e ...

  10. MyBatis、JDBC相关知识

    引言 在mybatis的基础知识中我们已经可以对mybatis的工作方式窥斑见豹.但是,为什么还要要学习mybatis的工作原理?因为,随着mybatis框架的不断发展,如今已经越来越趋于自动化,从代 ...