ISBCD
来自于:官方立即使用
verificationAppkey recognizeImage addEventListener
概述
本模块封装了名片全能王的SDK。可以识别名片的图片,将图片内名片信息以文字形式返回。
使用本模块之前需要先去名片全能王申请注册账号,然后跟名片全能王客服及技术支持联系,获取 SDK 包、ak 等信息 。
注意:使用本模块需要将从名片全能王获取的SDK包制作成自定义附加模块上传。
【iOS平台附加模块的制作】
由于名片全能王的 SDK 是动态生成并且跟包名绑定的。所以需要开发者将动态生成的的 SDK 打包成一个附加自定义模块上传 APICloud 平台。制作方法如下:
下载 ISBCDAppendix 模块 zip 包并解压,把 zip 包内 target 目录下的所有文件(包括:ISBusinessCardSDK.framework、ISOpenSDKFoundation.framework、Resources、IS_BCRAllTemplete.dat、IS_BCRTemplete_AddressParse.dat 和所有的图片以及module.modulemap文件)替换为从名片全能王获取的。然后重新将 ISBCDAppendix 文件压缩为 zip 包上传 APICloud 平台自定义模块,且勾选该模块。 (重新压缩时注意不要多一层目录, 注意图片和module.modulemap文件在ISOpenSDKFoundation.framework->Resources目录下,讲这些资源文件拷贝出来后,即可把Resources目录从ISOpenSDKFoundation.framework里删除掉)(_MACOSX 文件夹删掉,这是由于压缩包是Mac上制作的,在windows解压产生多的文件。 或者使用winRAR解压。)
【android平台无需附加模块的制作】
verificationAppkey
初始化并验证ak的正确性
verificationAppkey({params}, callback(ret, err))
params
android_appKey:
- 类型:字符串
- 描述:从名片全能王平台得到的 appkey(android端)
ios_appKey:
- 类型:字符串
- 描述:从名片全能王平台得到的 appkey(iOS端)
savePath:
- 类型:字符串
- 描述:外存设备上的绝对路径,用于存放返回的切边名片图片和数据模板文件,支持fs路径, (Android端)
- 可选项:默认:fs://
BCRAllTempletePath:
- 类型:字符串
- 描述:数据模板文件路径,sdk包中提供的如:BCRAllTemplete.dat 名字不可更改sdk提供的是哪个名字就用那个名字 (Android端)
BCRAllTempletePath:
- 类型:字符串
- 描述:数据模板文件路径,sdk包中提供的如:IS_BCRTemplete_AddressParse.dat 名字不可更改 (Android端)
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:0 //数字类型;操作成功状态值,取值范围如下:
//-1:nauthorized(未授权)
//0:auth success(授权成功)
//100:wrong device ID(错误的设备号)
//101:wrong app ID(错误的app ID)
//102:wrong app key(错误的app key)
//103:auth time expire(授权过期)
//104:reach device limit(达到设备上限)
//105:reach detect limit(达到识别额度上限)
//106:wrong sub app key, unused now(错误的sub app key,暂时无用)
//202:unsupported auth error(不支持的错误)
//203:server return wrong authorize info(服务器返回错误的授权信息)
//204:auth info uncreachable, network error(无法获取授权信息,网络问题)
//205:construct resource error, unused now(初始化资源失败,暂时无用)
//206:rong sdk type(错误的SDK库)
}
示例代码
var ISBCD = api.require('ISBCD');
ISBCD.verificationAppkey({
ios_appKey: ‘******’,
android_appKey: ‘******’
}, function(ret, err) {
if (ret.status == 0) {
api.alert({ msg: '验证成功'});
} else {
api.alert({ msg: "验证失败" });
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
recognizeImage
识别图片,返回文字信息
recognizeImage({params}, callback(ret, err))
params
path:
- 类型:字符串
- 描述:要识别的图片的路径,要求本地路径(widget://、fs://)
languages:
- 类型:数组
- 描述:(可选项)识别结果语音设置
- 默认值:[0,1,3]
- 取值范围:
- 0:English
- 1:ChineseSimp
- 2:ChineseTrad
- 3:Japanese
- 4:Korean
- 5:French
- 6:Spanish
- 7:Portuguese
- 8:German
- 9:Italian
- 10:Dutch
- 11:Swedish
- 12:Finnish
- 13:Danish
- 14:Norwegian
- 15:Hungarian
- 16:Russian
needImageProcess:
- 类型:布尔
- 描述:(可选项)是否返回名片抠图(Android此字段无效,Android一定返回名片抠图)
- 默认值:fase
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;是否识别成功,true|false
contactInfo: { //JSON对象;识别结果字段详见sdk开发文档
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
code: , //数字类型;错误码
msg: //字符串类型;返回的错误信息(ios端)
}
示例代码
var ISBCD = api.require('ISBCD');
ISBCD.recognizeImage({
languages: [],
needImageProcess: 1,
path: 'fs://test.png'
}, function(ret, err) {
if (ret.status) {
api.alert({ msg: JSON.stringify(ret) });
} else {
api.alert({ msg: JSON.stringify(err) });
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addEventListener
事件监听
addEventListener({params}, callback(ret, err))
params
target:
- 类型:字符串
- 描述:(可选项)监听事件名
- 默认值:processImage(仅当 recognizeImage 接口内 needImageProcess 参数为true 时才能监听此事件)
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;是否抠图成功,true|false
cropResultImage:''//字符串类型;名片抠图路径
}
err:
- 类型:JSON 对象
- 内部字段:
{
code: , //数字类型;错误码
msg: //字符串类型;返回的错误信息(ios端)
}
示例代码
var ISBCD = api.require('ISBCD');
ISBCD.addEventListener({
target: ‘processImage’,
}, function(ret, err) {
if (ret.status) {
api.alert({ msg: JSON.stringify(ret) });
} else {
api.alert({ msg: JSON.stringify(err) });
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本