ISBCD

概述

本原生插件封装了名片全能王的SDK。可以识别名片的图片,将图片内名片信息以文字形式返回。

使用本原生插件之前需要先去名片全能王申请注册账号,然后跟名片全能王客服及技术支持联系,获取 SDK 包、ak 等信息 。

注意:使用本原生插件需要将从名片全能王获取的SDK包制作成自定义附加原生插件上传。

【iOS平台附加原生插件的制作】

由于名片全能王的 SDK 是动态生成并且跟包名绑定的。所以需要开发者将动态生成的的 SDK 打包成一个附加自定义原生插件上传 Yonbuilder 移动开发平台。制作方法如下:

下载 ISBCDAppendix 原生插件 zip 包并解压,把 zip 包内 target 目录下的所有文件(包括:ISBusinessCardSDK.framework、ISOpenSDKFoundation.framework、Resources、IS_BCRAllTemplete.dat、IS_BCRTemplete_AddressParse.dat 和所有的图片以及module.modulemap文件)替换为从名片全能王获取的。然后重新将 ISBCDAppendix 文件压缩为 zip 包上传 Yonbuilder 移动开发平台自定义原生插件,且勾选该原生插件。 (重新压缩时注意不要多一层目录, 注意图片和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及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/12/2