本文讲解com.justep.cordova.plugin.scanCard插件以及如何在Wex5中使用该插件。

1.插件概述

名片识别插件,集成了脉可寻的SDK,免去自行录入名片或纠正识别结果的烦恼,开发者需要先申请key和secure才可以使用,本demo使用的是脉可寻提供的测试的一套参数。您只需要打开摄像头,拍取名片的照片,即可识别名片中的信息并将其上传至脉可寻的服务器,提供查询客户信息的接口,方便以后查询使用。脉可寻识别服务的流程为:认证->打开SDK相机页面->拍摄名片->确认上传成功->获取数据。

2.插件使用

首先,我们需要在自己的js文件中引入该插件,即“require(“cordova!com.justep.cordova.plugin.scanCard”);”然后即可在js中调用相关API。

以下是API的使用:


//申请授权,根据脉可寻的规范,使用SDK的API之前,我们必须申请授权,除了需要在打包的时候配置key和secure之外,还需要传入用户标识(Android与iOS端的参数名称稍微差异),这些参数均由脉可寻官网申请。
Model.prototype.aouthClick = function(event){
	navigator.scanCard.auth("12345",this.success,this.error);
};

//检查是否授权,已经授权,则成功回调,如未授权,则失败回调
Model.prototype.checkClick = function(event){
	navigator.scanCard.checkAuth(this.success,this.error);
};

//清除授权信息
Model.prototype.clearClick = function(event){
	navigator.scanCard.clearAuthentication(this.success,this.error);
};

//拍照并上传,该API会调用手机摄像头拍取名片的照片,然后会自动上传到脉可寻服务器,上传成功后会返回该图片的UUID,用户可以根据此UUID获取名片中的信息,如果图片上传,则会有上传失败的提示,同样会返回该图片的UUID。
Model.prototype.takePictureClick = function(event){
	navigator.scanCard.takePicture(function(result){
		UUID = result.UUID;
		alert(UUID);
	}, error);
};

//重新上传照片,如果拍照上传失败后,根据图片的UUID重新上传,参数UUID为必填参数。
Model.prototype.uploadClick = function(event){
	navigator.scanCard.uploadPicture(UUID,function(){
		alert("上传成功");
	}, function(){
		alert("上传失败");
	});
};

//根据UUID获取数据 UUIDs参数为图片的UUID组成的数组,通过此接口可以获取某些图片中的数据信息,返回值为多个名片信息组成的数组,格式请看名片数据结构图。
Model.prototype.getByUUIDClick = function(event){
	navigator.scanCard.getCardByUuid(UUIDs,this.success,this.error);
};

//根据时间获取整个用户数据,参数time:为时间戳,当前时间距1970年秒数,如果是0表示全部数据,返回值为多个名片信息组成的数组,格式请看名片数据结构图。
Model.prototype.getByTimeClick = function(event){
	navigator.scanCard.getCardByTime(0,this.success,this.error);
};

名片信息数据结构图:
card
注意:
① 本插件默认使用的是脉可寻提供的一套公共测试的参数,拍照后会将数据上传至脉可寻的服务器,凡是用这套参数的测试者均可获取该数据,故如涉及个人隐私,请谨慎拍照上传。