- 版本:2.0.2
- GitHub: https://github.com/nstudio/nativescript-xavier-passport
- NPM: https://npmjs.net.cn/package/%40nstudio%2Fnativescript-xavier-passport
- 下载量
- 前一天:0
- 上周:0
- 上个月:0
NativeScript Xavier Passport
NativeScript 插件,用于扫描护照和卡片上的 MRZ 数据,适用于 Android 和 iOS。
您在项目或插件上需要帮助吗?随时联系 nStudio 团队以获取有关移动和 Web 应用程序开发的最佳实践 [email protected]。
NativeScript Xavier-Passport
这是一个 NativeScript 跨平台插件,用于包装适用于 iOS 和 Android 的 Black Shark Tech Xavier 库。
许可协议
我们的代码由 2018-2019 年 nStudio, LLC 所有。所有内容均在 Apache 2.0 许可下授权,这意味着您可以在任何类型的程序中包含它。
但是,基本 Xavier 库必须从他们那里获得授权,请参阅:https://github.com/BlackSharkTech/Xavier-demo-android 和 https://github.com/BlackSharkTech/Xavier-demo-ios 获取真实的许可证密钥,您需要联系 sales @ blacksharktech.com
安装
同一插件适用于 NativeScript 5.x 及以上版本
在您的项目根目录中运行 tns plugin add @nstudio/nativescript-xavier-passport
。
Android 必需设置
在您的应用/App_Resources/Android/src/main/res/AndroidManifest.xml 中,您需要执行以下操作:
- 将
xmlns:tools="http://schemas.android.com/tools"
添加到<Manifest ...
- 在
<application
中添加tools:replace="android:allowBackup"
3a. 在<uses-sdk
中将 android:minSdkVersion="XX" 更改为至少 21。3b. 如果您使用的是 NativeScript 的新版本且您的文件中没有<uses-sdk
,则需要更改 app/App_Resources/Android/app.gradle 文件。将minSdkVersion
更改为至少 21
用法
开始扫描
const Passport = require('@nstudio/nativescript-xavier-passport');
const zp = new Passport({"licenseKey": "<LICENSE_KEY>"});
zp.on("results", function(results) { console.log("Results:", results); });
zp.start();
实例化护照对象
new Passport(options)
选项
- licenseKey = 您的许可证密钥(测试时可以是任何字符串!)
- boundingBoxSearchingColor = 边框框颜色
- boundingBoxFoundColor = 找到边框框时的颜色
- closeButtonColor = 关闭按钮颜色
- flashOnButtonColor = 开闪光按钮颜色
- flashOffButtonColor = 关闪光按钮颜色
- flashButtonEnabled = (true/false) 显示闪光按钮
- instructionTextEnabled = (true/false) 在相机中显示说明性文字
- instructionText = 要显示的文本
- instructionTextColor = 文本颜色
- instructionTextFont = 要使用的字体
- cameraNegativeSpaceBackgroundEnabled = 背景空间
- cameraNegativeSpaceBackgroundColor = 背景颜色
.enableDebug()
将启用更多日志输出到日志系统。
.enableCloseHack()
可能适用于 iOS;MRZ 的最后一个版本在关闭通知方面存在问题;因此,我们有一个解决方案...
.start()
zp.start();
开始扫描
事件
zp.on("error", function(error) { console.log("Error", error); });
zp.on("closed", function() { console.log("Closed the reader"); });
zp.on("results", function(results) { console.log("Results", results); });
results
- 将返回一个包含所有键的对象,包括作为 "rawMrz" 键的原始数据。error
- 将返回 Xavier 的错误消息,或者如果您的结果或关闭事件代码存在错误,则将通过此回调传递您的代码错误。closed
- 当关闭扫描屏幕时将被触发。(在iOS上这会被触发多次)
结果对象
-
documentImage - 证件图片;这可能是原生iOS图片或Android位图。您可以使用
fromNativeSource()
函数将其分配给 ImageSource。 -
documentType - 证件类型。
-
countryCitizen - 证件所属国家/国籍代码
-
givenName - 证件持有者的名字/姓氏。
-
surname - 姓氏/姓氏/家族名称
-
documentNumber - 证件号码。
-
countryIssue - 发证国家代码
-
dateBirth - 出生日期;以 YYMMDD 格式返回
-
sex - 证件持有者的性别。
-
dateExpiration - 证件有效期;以 YYMMDD 格式返回
-
optionalData - MRZ 第二行的可选数据
-
optionalData2 - MRZ 第三行的可选数据
-
stateIssue - 发证州/省
-
rawMrz - 读取的未解析的 MRZ
-
documentNumberCheckDigit - 证件号码的校验位
-
dateBirthCheckDigit - 出生日期的校验位
-
dateExpirationCheckDigit - 有效期截止日期的校验位
-
optionalDataCheckDigit - 可选数据的校验位
-
compositeCheckDigit - 文件号码、出生日期、到期日期、可选数据及其校验位的复合校验位
示例
请参阅示例源代码(见:main-view-model.js)。