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 对象
  • 内部字段:
  1. {
  2. status:0 //数字类型;操作成功状态值,取值范围如下:
  3. //-1:nauthorized(未授权)
  4. //0:auth success(授权成功)
  5. //100:wrong device ID(错误的设备号)
  6. //101:wrong app ID(错误的app ID)
  7. //102:wrong app key(错误的app key)
  8. //103:auth time expire(授权过期)
  9. //104:reach device limit(达到设备上限)
  10. //105:reach detect limit(达到识别额度上限)
  11. //106:wrong sub app key, unused now(错误的sub app key,暂时无用)
  12. //202:unsupported auth error(不支持的错误)
  13. //203:server return wrong authorize info(服务器返回错误的授权信息)
  14. //204:auth info uncreachable, network error(无法获取授权信息,网络问题)
  15. //205:construct resource error, unused now(初始化资源失败,暂时无用)
  16. //206:rong sdk type(错误的SDK库)
  17. }

示例代码

  1. var ISBCD = api.require('ISBCD');
  2. ISBCD.verificationAppkey({
  3. ios_appKey: ‘******’,
  4. android_appKey: ‘******’
  5. }, function(ret, err) {
  6. if (ret.status == 0) {
  7. api.alert({ msg: '验证成功'});
  8. } else {
  9. api.alert({ msg: "验证失败" });
  10. }
  11. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status:true //布尔类型;是否识别成功,true|false
  3. contactInfo: { //JSON对象;识别结果字段详见sdk开发文档
  4. }
  5. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: , //数字类型;错误码
  3. msg: //字符串类型;返回的错误信息(ios端)
  4. }

示例代码

  1. var ISBCD = api.require('ISBCD');
  2. ISBCD.recognizeImage({
  3. languages: [],
  4. needImageProcess: 1,
  5. path: 'fs://test.png'
  6. }, function(ret, err) {
  7. if (ret.status) {
  8. api.alert({ msg: JSON.stringify(ret) });
  9. } else {
  10. api.alert({ msg: JSON.stringify(err) });
  11. }
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

事件监听

addEventListener({params}, callback(ret, err))

params

target:

  • 类型:字符串
  • 描述:(可选项)监听事件名
  • 默认值:processImage(仅当 recognizeImage 接口内 needImageProcess 参数为true 时才能监听此事件)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true //布尔类型;是否抠图成功,true|false
  3. cropResultImage:''//字符串类型;名片抠图路径
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: , //数字类型;错误码
  3. msg: //字符串类型;返回的错误信息(ios端)
  4. }

示例代码

  1. var ISBCD = api.require('ISBCD');
  2. ISBCD.addEventListener({
  3. target: processImage’,
  4. }, function(ret, err) {
  5. if (ret.status) {
  6. api.alert({ msg: JSON.stringify(ret) });
  7. } else {
  8. api.alert({ msg: JSON.stringify(err) });
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本