Commit 296e2688 authored by jiacheng.mao's avatar jiacheng.mao

ios new_sdk 20231127 新版本插件 part1

parent fac15653
# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/
/local.properties
.DS_Store
# 身份检测cordova插件
```javascript
var exec = require('cordova/exec');
/**
* SDK 返回的异常 Code 代码和含义:
*
* CANCELBACK,//中途返回退出
* FINGERERROR,//开启指纹错误
* NOUSER,//尚未注册
* FACEERROR,//人脸比对不通过
* PERSONREGISTER,//人工审核信息提交失败,请重新注册
* QRERROR,//二维码参数有误
* PARAMEERROR,//参数有误
* BIZNOERROR,//缺少业务编号
* FACETIMEOUT,//人脸检测超时
* PACKAGEERROR,//未授权的应用
* PERMISSIONERROR,//权限缺失 读写 摄像头 录音权限
* NOFINGERERROR,//尚无指纹请先设置
*/
/**
* SDK初始化方法,用于初始化插件。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} license - 这个license是放在assets中的,根据应用ID供应商提供。
* @param {string} tag - 这个也是供应商提供。
* @param {boolean} isActive - 是否需要激活(true:需要激活,false:不需要激活)。
* @param {boolean} isProdEnv - 服务器环境(true:正式服务器环境,false:测试服务器环境)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "初始化成功"
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 初始化异常
* {
* code: "ERROR_CODE_INIT_SDK",
* message: "初始化失败,请检查参数等数据是否异常"
*
* }
* }
*
* // 调用init方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.init(onSuccess, onError,'cn.qsign.sdk.demo-license.qsign-android', 'hnsdk', true, false );
*/
exports.init = function (success, error,license, tag, isActive, isProdEnv) {
let arg = {
license: license,
tag: tag,
isActive: isActive,
isProdEnv: isProdEnv
};
exec(success, error, 'IdCardIdentifyPlugin', 'init', [arg]);
};
/**
* 实名认证并设置PIN接口 (需要开启读写、摄像头、录音权限)。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} bizNo - 唯一编码 可以设置为身份证号,或唯一随机数。
* @param {string} name - 姓名。
* @param {string} IDNo - 身份证号。
* @param {boolean} disallowModify -是否不可修改(true:姓名和身份证不能修改并且不能为空,false:可以为空,但是不能不传)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "NORMALREGISTER",
* message: "成功",
* data: {
* IDNo: "xxx", // 身份证号码
* name: "xxx", // 姓名
* phone: "xxx" // 手机号
* }
* }
* // 信息提交成功,等待人工审核:
* {
* code: "PERSONSERVICE",
* message: "信息提交成功,等待人工审核",
* data: {
* IDNo: "xxx", // 身份证号码
* name: "xxx", // 姓名
* phone: "xxx" // 手机号
* }
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常:
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常:
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
*
* // 权限异常:
* {
* code: "ERROR_PERMISSION_MISSING",
* message: "缺少权限:相机权限,读写存储权限,录音权限,",
* data: {
* missPermissions: [
* "读写存储权限", "相机权限", "录音权限" // 注意这些数量不一定,根据用户设置权限的情况
* ]
* }
* }
* }
*
* // 调用registerNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.registerNotary( onSuccess, onError,'8888', '', '', false );
*/
exports.registerNotary = function (success, error, bizNo, name, IDNo, disallowModify ) {
let arg = {
bizNo: bizNo,
name: name,
IDNo: IDNo,
disallowModify: disallowModify
};
exec(success, error, 'IdCardIdentifyPlugin', 'registerNotary', [arg]);
};
/**
* 实名认证旧版本 (需要开启读写、摄像头、录音权限)。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} name - 姓名。
* @param {string} IDNo - 身份证号。
* @param {string} phone - 手机号码。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "NORMALREGISTER",
* message: "成功",
* data: {
* IDNo: "xxx", // 身份证号码
* name: "xxx", // 姓名
* phone: "xxx" // 手机号
* }
* }
* // 信息提交成功,等待人工审核:
* {
* code: "PERSONSERVICE",
* message: "信息提交成功,等待人工审核",
* data: {
* IDNo: "xxx", // 身份证号码
* name: "xxx", // 姓名
* phone: "xxx" // 手机号
* }
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常:
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常:
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
*
* // 权限异常:
* {
* code: "ERROR_PERMISSION_MISSING",
* message: "缺少权限:相机权限,读写存储权限,录音权限,",
* data: {
* missPermissions: [
* "读写存储权限", "相机权限", "录音权限" // 注意这些数量不一定,根据用户设置权限的情况
* ]
* }
* }
* }
*
* // 调用identifyNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.identifyNotary( onSuccess, onError,'章三', '64xxxx', '13579246810', false);
*/
exports.identifyNotary = function (success, error,name, IDNo, phone ) {
let arg = {
name: name,
IDNo: IDNo,
phone: phone
};
exec(success, error, 'IdCardIdentifyPlugin', 'identifyNotary', [arg]);
};
/**
* 查询是否有协同密钥。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} bizNo - 唯一编码 可以设置为身份证号,或唯一随机数。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功",
* data: {
* haveUser: true
* }
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
* }
*
* // 调用haveUser方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.haveUser(onSuccess, onError, '8888' );
*/
exports.haveUser = function (success, error,bizNo) {
let arg = {
bizNo: bizNo
};
exec(success, error, 'IdCardIdentifyPlugin', 'haveUser', [arg]);
};
/**
*
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} bizNo - 唯一编码 可以设置为身份证号,或唯一随机数。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "激活成功",
* data: {
* IDNo: "xxx", // 身份证号码
* name: "xxx", // 姓名
* phone: "xxx" // 手机号
* }
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
* }
*
* // 调用activeUserNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.activeUserNotary(onSuccess, onError, '8888');
*/
exports.activeUserNotary = function (success, error, bizNo) {
let arg = {
bizNo: bizNo
};
exec(success, error, 'IdCardIdentifyPlugin', 'activeUserNotary', [arg]);
};
/**
* 实名认证
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} name - 姓名。
* @param {string} IDNo - 身份证号。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "操作成功",
* data: {
* faceImage: "/data/data/包名/QSign_Face/1600233451.jpg"
* }
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
* }
*
* // 调用qsignLivenessNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.qsignLivenessNotary( onSuccess, onError,'章三', '511222*******');
*/
exports.qsignLivenessNotary = function (success, error, name, IDNo) {
let arg = {
name: name,
IDNo: IDNo
};
exec(success, error, 'IdCardIdentifyPlugin', 'qsignLivenessNotary', [arg]);
};
/**
* 设置手写签名接口
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} bizNo - 唯一编码 可以设置为身份证号,或唯一随机数。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功"
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
* }
*
* // 调用setWriteImgNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.setWriteImgNotary( onSuccess, onError, '8888');
*/
exports.setWriteImgNotary = function (success, error, bizNo) {
let arg = {
bizNo: bizNo
};
exec(success, error, 'IdCardIdentifyPlugin', 'setWriteImgNotary', [arg]);
};
/**
* 开启/关闭指纹代替PIN接口
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功",
* data: {
* isFingerOpened: true
* }
* }
* }
*
* function onError(err){
* // err:
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
* }
*
* // 调用setFingerNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.setFingerNotary(onSuccess, onError);
*/
exports.setFingerNotary = function (success, error) {
exec(success, error, 'IdCardIdentifyPlugin', 'setFingerNotary', []);
};
/**
* 忘记PIN接口。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功",
* data: {
* isFingerOpened: true
* }
* }
* }
*
* function onError(err){
* // err:
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
* }
*
* // 调用forgetPINNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.forgetPINNotary(onSuccess, onError);
*/
exports.forgetPINNotary = function (success, error) {
exec(success, error, 'IdCardIdentifyPlugin', 'forgetPINNotary', []);
};
/**
* 签署接口
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} url - 签署的http地址
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功"
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
*
* }
*
* // 调用webSignNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.webSignNotary( onSuccess, onError,'https://baidu.com');
*/
exports.webSignNotary = function (success, error, url) {
let arg = {
url: url
};
exec(success, error, 'IdCardIdentifyPlugin', 'webSignNotary', [arg]);
};
/**
* 是否开启指纹。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功",
* data: {
* isFingerOpened: false
* }
* }
* }
* function onError(err) {
* // err: 不会触发
* }
*
* // 调用getFingerOpened方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.getFingerOpened( onSuccess, onError);
*/
exports.getFingerOpened = function (success, error) {
exec(success, error, 'IdCardIdentifyPlugin', 'getFingerOpened', []);
};
/**
* 清除接口。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功"
* }
* }
* function onError(err) {
* // err: 不会触发
* }
*
* // 调用clearUser方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.clearUser(onSuccess, onError);
*/
exports.clearUser = function (success, error) {
exec(success, error, 'IdCardIdentifyPlugin', 'clearUser', []);
};
```
# 下列方法全部废弃,请参考www/IdCardPlugin.js中的调用示例:
调用方式:
```
1.初始化 已废弃
//prod
cordova.plugins.IdCardPlugin.idCardIdentify(’prod‘, function (success) {}, function (reason) {});
//dev
cordova.plugins.IdCardPlugin.idCardIdentify(’dev‘, function (success) {}, function (reason) {});
2.实名认证
cordova.plugins.IdCardPlugin.idCardIdentify({"idNum":"身份证号码","idName":"姓名","phoneNum":"手机号"}, function (success) {}, function (reason) {});
3.人脸对比 成功回调返回人脸照片路径
cordova.plugins.IdCardPlugin.faceContrast({"idNum":"身份证号码","idName":"姓名"}, function (success) {}, function (reason) {});
```
#IOS 说明
##1.打包说明
由于sdk只支持 arm64,所以项目不支持模拟器运行
{
"name": "cordova-plugin-hand-idcardplugin",
"version": "0.3.3",
"description": "",
"cordova": {
"id": "cordova-plugin-hand-idcardplugin",
"platforms": [
"ios",
"android"
]
},
"keywords": [
"ecosystem:cordova"
],
"author": "",
"license": "ISC"
}
<?xml version='1.0' encoding='utf-8'?>
<plugin id="cordova-plugin-hand-idcardplugin" version="0.3.3" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
<name>IdCardPlugin</name>
<js-module name="IdCardPlugin" src="www/IdCardPlugin.js">
<clobbers target="cordova.plugins.IdCardPlugin" />
</js-module>
<!-- android -->
<platform name="android">
<!-- 业务类指定 -->
<config-file target="res/xml/config.xml" parent="/*">
<feature name="IdCardIdentifyPlugin">
<param name="android-package" value="com.xg.idcard.IdCardIdentifyPlugin"/>
</feature>
</config-file>
<config-file target="config.xml" parent="/*">
<!-- QSign 支持的最低 SDK 版本是 21 -->
<preference name="android-minSdkVersion" value="21"/>
</config-file>
<!-- 需要的android权限 -->
<config-file target="AndroidManifest.xml" parent="/*">
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
</config-file>
<config-file target="AndroidManifest.xml" parent="/manifest/application">
<activity android:name="com.qsign.face.LivenessDetectActivity"/>
</config-file>
<!-- arr引用 -->
<resource-file src="src/android/lib/jsgzsdk.aar" target="libs/jsgzsdk.aar" />
<framework src="src/android/lib/idCard.gradle" custom="true" type="gradleReference" />
<source-file src="src/android/java/IdCardIdentifyPlugin.java" target-dir="src/com/xg/idcard/" />
<source-file src="src/android/lib/com.xcmg.app.dev-license.qsign-android" target-dir="assets/" />
<source-file src="src/android/lib/com.xcmg.app-license.qsign-android" target-dir="assets/" />
</platform>
<platform name="ios">
<config-file parent="/*" target="config.xml">
<feature name="IdCardIdentifyPlugin">
<param name="ios-package" value="IdCardIdentifyCordova"/>
</feature>
</config-file>
<!-- 第三方库依赖 -->
<config-file target="*-Info.plist" parent="NSCameraUsageDescription">
<string>亲,我们需要访问您的相机,用于拍摄人脸、身份证等照片</string>
</config-file>
<config-file target="*-Info.plist" parent="NSFaceIDUsageDescription">
<string>需要设备访问Face ID,用于校验权限</string>
</config-file>
<config-file target="*-Info.plist" parent="NSMicrophoneUsageDescription">
<string>亲,我们需要访问您的麦克风,用于录制视频</string>
</config-file>
<config-file target="*-Info.plist" parent="NSPhotoLibraryUsageDescription">
<string>亲,我们需要访问您的相册,用于提供图片素材</string>
</config-file>
<!-- <config-file target="*-Info.plist" parent="NSPhotoLibraryAddUsageDescription">
<string>亲,我们需要访问您的相册,用于提供图片素材</string>
</config-file> -->
<header-file src="src/ios/IdCardIdentifyCordova.h" target-dir="."/>
<source-file src="src/ios/IdCardIdentifyCordova.m" target-dir="."/>
<!-- <framework src="CoreBluetooth.framework" weak="true"/> -->
<framework src="src/ios/QsignSDK/QsignFaceSDK.framework" custom="true" embed="true" />
<framework src="src/ios/QsignSDK/QsignNotarySDK.framework" custom="true" embed="true"/>
<framework src="src/ios/QsignSDK/QsignSafeSDK.framework" custom="true" embed="true" />
<!-- <source-file src="src/ios/QsignSDK/com.xcmg.app-license.qsign-ios" target-dir="."/>
<source-file src="src/ios/QsignSDK/com.xcmg.app.dev-license.qsign-ios" target-dir="."/> -->
<resource-file src="src/ios/QsignSDK/com.xcmg.app-license.qsign-ios" target-dir="res/com.xcmg.app-license.qsign-ios"/>
<resource-file src="src/ios/QsignSDK/com.xcmg.app.dev-license.qsign-ios" target-dir="res/om.xcmg.app.dev-license.qsign-ios"/>
<resource-file src="src/ios/QsignSDK/com.cn.weslink.qsign.jsgzdemo-license.qsign-ios" target-dir="res/om.xcmg.app.dev-license.qsign-ios"/>
<!-- 3.0 4 required cordova 6.4.0
<framework src="src/ios/AFNetworking.framework" custom="true" embed="true" />
-->
<!-- 使用热更新插件中的 AFNetworkingFramwork.framework -->
<!-- 当单独使用时 放开 以下内容 -->
</platform>
</plugin>
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
# target 名称请根据实际情况替换
target '徐工金服' do
# use_frameworks!
# Pods for 徐工金服
pod 'AFNetworking', '~> 3.2'
pod 'SDWebImage'
pod 'Masonry'
pod 'WebViewJavascriptBridge'
pod 'IQKeyboardManager'
pod 'ReactiveCocoa', :tag => '2.5.2', :git => 'https://github.com/zhao0/ReactiveCocoa.git'
pod 'SVProgressHUD'
pod 'YYText'
pod 'YYModel'
end
PODS:
- AFNetworking (3.2.1):
- AFNetworking/NSURLSession (= 3.2.1)
- AFNetworking/Reachability (= 3.2.1)
- AFNetworking/Security (= 3.2.1)
- AFNetworking/Serialization (= 3.2.1)
- AFNetworking/UIKit (= 3.2.1)
- AFNetworking/NSURLSession (3.2.1):
- AFNetworking/Reachability
- AFNetworking/Security
- AFNetworking/Serialization
- AFNetworking/Reachability (3.2.1)
- AFNetworking/Security (3.2.1)
- AFNetworking/Serialization (3.2.1)
- AFNetworking/UIKit (3.2.1):
- AFNetworking/NSURLSession
- IQKeyboardManager (6.5.6)
- Masonry (1.1.0)
- ReactiveCocoa (2.5.2):
- ReactiveCocoa/UI (= 2.5.2)
- ReactiveCocoa/Core (2.5.2):
- ReactiveCocoa/no-arc
- ReactiveCocoa/no-arc (2.5.2)
- ReactiveCocoa/UI (2.5.2):
- ReactiveCocoa/Core
- SDWebImage (5.10.4):
- SDWebImage/Core (= 5.10.4)
- SDWebImage/Core (5.10.4)
- SVProgressHUD (2.2.5)
- WebViewJavascriptBridge (6.0.3)
- YYModel (1.0.4)
- YYText (1.0.7)
DEPENDENCIES:
- AFNetworking (~> 3.2)
- IQKeyboardManager
- Masonry
- ReactiveCocoa (from `https://github.com/zhao0/ReactiveCocoa.git`, tag `2.5.2`)
- SDWebImage
- SVProgressHUD
- WebViewJavascriptBridge
- YYModel
- YYText
SPEC REPOS:
https://github.com/CocoaPods/Specs.git:
- AFNetworking
- IQKeyboardManager
- Masonry
- SDWebImage
- SVProgressHUD
- WebViewJavascriptBridge
- YYModel
- YYText
EXTERNAL SOURCES:
ReactiveCocoa:
:git: https://github.com/zhao0/ReactiveCocoa.git
:tag: 2.5.2
CHECKOUT OPTIONS:
ReactiveCocoa:
:git: https://github.com/zhao0/ReactiveCocoa.git
:tag: 2.5.2
SPEC CHECKSUMS:
AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057
IQKeyboardManager: 2a6e97afdafc7becf0cb17a9a8d795e3a980717f
Masonry: 678fab65091a9290e40e2832a55e7ab731aad201
ReactiveCocoa: 3ff25b1bd992ac79c5c79b26b6c0c1713b715bb2
SDWebImage: c666b97e1fa9c64b4909816a903322018f0a9c84
SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6
WebViewJavascriptBridge: 7f5bc4d3581e672e8f32bd0f812d54bc69bb8e29
YYModel: 2a7fdd96aaa4b86a824e26d0c517de8928c04b30
YYText: 5c461d709e24d55a182d1441c41dc639a18a4849
PODFILE CHECKSUM: ca15293d26dc0ea9890d27e3b12a8e154aa4ee56
COCOAPODS: 1.10.1
var exec = require('cordova/exec');
/**
* SDK 返回的异常 Code 代码和含义:
*
* CANCELBACK,//中途返回退出
* FINGERERROR,//开启指纹错误
* NOUSER,//尚未注册
* FACEERROR,//人脸比对不通过
* PERSONREGISTER,//人工审核信息提交失败,请重新注册
* QRERROR,//二维码参数有误
* PARAMEERROR,//参数有误
* BIZNOERROR,//缺少业务编号
* FACETIMEOUT,//人脸检测超时
* PACKAGEERROR,//未授权的应用
* PERMISSIONERROR,//权限缺失 读写 摄像头 录音权限
* NOFINGERERROR,//尚无指纹请先设置
*/
/**
* SDK初始化方法,用于初始化插件。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} license - 这个license是放在assets中的,根据应用ID供应商提供。
* @param {string} tag - 这个也是供应商提供。
* @param {boolean} isActive - 是否需要激活(true:需要激活,false:不需要激活)。
* @param {boolean} isProdEnv - 服务器环境(true:正式服务器环境,false:测试服务器环境)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "初始化成功"
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 初始化异常
* {
* code: "ERROR_CODE_INIT_SDK",
* message: "初始化失败,请检查参数等数据是否异常"
*
* }
* }
*
* // 调用init方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.init(onSuccess, onError,'cn.qsign.sdk.demo-license.qsign-android', 'hnsdk', true, false );
*/
exports.init = function (success, error,license, tag, isActive, isProdEnv) {
let arg = {
license: license,
tag: tag,
isActive: isActive,
isProdEnv: isProdEnv
};
exec(success, error, 'IdCardIdentifyPlugin', 'init', [arg]);
};
/**
* 实名认证并设置PIN接口 (需要开启读写、摄像头、录音权限)。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} bizNo - 唯一编码 可以设置为身份证号,或唯一随机数。
* @param {string} name - 姓名。
* @param {string} IDNo - 身份证号。
* @param {boolean} disallowModify -是否不可修改(true:姓名和身份证不能修改并且不能为空,false:可以为空,但是不能不传)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "NORMALREGISTER",
* message: "成功",
* data: {
* IDNo: "xxx", // 身份证号码
* name: "xxx", // 姓名
* phone: "xxx" // 手机号
* }
* }
* // 信息提交成功,等待人工审核:
* {
* code: "PERSONSERVICE",
* message: "信息提交成功,等待人工审核",
* data: {
* IDNo: "xxx", // 身份证号码
* name: "xxx", // 姓名
* phone: "xxx" // 手机号
* }
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常:
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常:
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
*
* // 权限异常:
* {
* code: "ERROR_PERMISSION_MISSING",
* message: "缺少权限:相机权限,读写存储权限,录音权限,",
* data: {
* missPermissions: [
* "读写存储权限", "相机权限", "录音权限" // 注意这些数量不一定,根据用户设置权限的情况
* ]
* }
* }
* }
*
* // 调用registerNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.registerNotary( onSuccess, onError,'8888', '', '', false );
*/
exports.registerNotary = function (success, error, bizNo, name, IDNo, disallowModify ) {
let arg = {
bizNo: bizNo,
name: name,
IDNo: IDNo,
disallowModify: disallowModify
};
exec(success, error, 'IdCardIdentifyPlugin', 'registerNotary', [arg]);
};
/**
* 实名认证旧版本 (需要开启读写、摄像头、录音权限)。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} name - 姓名。
* @param {string} IDNo - 身份证号。
* @param {string} phone - 手机号码。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "NORMALREGISTER",
* message: "成功",
* data: {
* IDNo: "xxx", // 身份证号码
* name: "xxx", // 姓名
* phone: "xxx" // 手机号
* }
* }
* // 信息提交成功,等待人工审核:
* {
* code: "PERSONSERVICE",
* message: "信息提交成功,等待人工审核",
* data: {
* IDNo: "xxx", // 身份证号码
* name: "xxx", // 姓名
* phone: "xxx" // 手机号
* }
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常:
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常:
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
*
* // 权限异常:
* {
* code: "ERROR_PERMISSION_MISSING",
* message: "缺少权限:相机权限,读写存储权限,录音权限,",
* data: {
* missPermissions: [
* "读写存储权限", "相机权限", "录音权限" // 注意这些数量不一定,根据用户设置权限的情况
* ]
* }
* }
* }
*
* // 调用identifyNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.identifyNotary( onSuccess, onError,'章三', '64xxxx', '13579246810', false);
*/
exports.identifyNotary = function (success, error,name, IDNo, phone ) {
let arg = {
name: name,
IDNo: IDNo,
phone: phone
};
exec(success, error, 'IdCardIdentifyPlugin', 'identifyNotary', [arg]);
};
/**
* 查询是否有协同密钥。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} bizNo - 唯一编码 可以设置为身份证号,或唯一随机数。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功",
* data: {
* haveUser: true
* }
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
* }
*
* // 调用haveUser方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.haveUser(onSuccess, onError, '8888' );
*/
exports.haveUser = function (success, error,bizNo) {
let arg = {
bizNo: bizNo
};
exec(success, error, 'IdCardIdentifyPlugin', 'haveUser', [arg]);
};
/**
*
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} bizNo - 唯一编码 可以设置为身份证号,或唯一随机数。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "激活成功",
* data: {
* IDNo: "xxx", // 身份证号码
* name: "xxx", // 姓名
* phone: "xxx" // 手机号
* }
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
* }
*
* // 调用activeUserNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.activeUserNotary(onSuccess, onError, '8888');
*/
exports.activeUserNotary = function (success, error, bizNo) {
let arg = {
bizNo: bizNo
};
exec(success, error, 'IdCardIdentifyPlugin', 'activeUserNotary', [arg]);
};
/**
* 实名认证
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} name - 姓名。
* @param {string} IDNo - 身份证号。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "操作成功",
* data: {
* faceImage: "/data/data/包名/QSign_Face/1600233451.jpg"
* }
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
* }
*
* // 调用qsignLivenessNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.qsignLivenessNotary( onSuccess, onError,'章三', '511222*******');
*/
exports.qsignLivenessNotary = function (success, error, name, IDNo) {
let arg = {
name: name,
IDNo: IDNo
};
exec(success, error, 'IdCardIdentifyPlugin', 'qsignLivenessNotary', [arg]);
};
/**
* 设置手写签名接口
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} bizNo - 唯一编码 可以设置为身份证号,或唯一随机数。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功"
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
* }
*
* // 调用setWriteImgNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.setWriteImgNotary( onSuccess, onError, '8888');
*/
exports.setWriteImgNotary = function (success, error, bizNo) {
let arg = {
bizNo: bizNo
};
exec(success, error, 'IdCardIdentifyPlugin', 'setWriteImgNotary', [arg]);
};
/**
* 开启/关闭指纹代替PIN接口
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功",
* data: {
* isFingerOpened: true
* }
* }
* }
*
* function onError(err){
* // err:
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
* }
*
* // 调用setFingerNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.setFingerNotary(onSuccess, onError);
*/
exports.setFingerNotary = function (success, error) {
exec(success, error, 'IdCardIdentifyPlugin', 'setFingerNotary', []);
};
/**
* 忘记PIN接口。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功",
* data: {
* isFingerOpened: true
* }
* }
* }
*
* function onError(err){
* // err:
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
* }
*
* // 调用forgetPINNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.forgetPINNotary(onSuccess, onError);
*/
exports.forgetPINNotary = function (success, error) {
exec(success, error, 'IdCardIdentifyPlugin', 'forgetPINNotary', []);
};
/**
* 签署接口
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @param {string} url - 签署的http地址
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功"
* }
* }
*
* function onError(err){
* // err:
* // 参数解析异常
* {
* code: "ERROR_CODE_PARAM",
* message: "参数错误:{异常信息}"
* }
*
* // SDK 返回的异常
* {
* code: "CANCELBACK",
* message: "{SDK返回的msg}"
* }
*
* }
*
* // 调用webSignNotary方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.webSignNotary( onSuccess, onError,'https://baidu.com');
*/
exports.webSignNotary = function (success, error, url) {
let arg = {
url: url
};
exec(success, error, 'IdCardIdentifyPlugin', 'webSignNotary', [arg]);
};
/**
* 是否开启指纹。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功",
* data: {
* isFingerOpened: false
* }
* }
* }
* function onError(err) {
* // err: 不会触发
* }
*
* // 调用getFingerOpened方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.getFingerOpened( onSuccess, onError);
*/
exports.getFingerOpened = function (success, error) {
exec(success, error, 'IdCardIdentifyPlugin', 'getFingerOpened', []);
};
/**
* 清除接口。
*
* @param {Function} success - 成功回调方法(回调函数类型)。
* @param {Function} error - 失败回调方法(回调函数类型)。
* @memberOf exports
*
* @example
* // 成功回调方法示例
* function onSuccess(res) {
* // res:
* {
* code: "SUCCESS",
* message: "成功"
* }
* }
* function onError(err) {
* // err: 不会触发
* }
*
* // 调用clearUser方法,并传入成功回调函数
* cordova.plugins.IdCardPlugin.clearUser(onSuccess, onError);
*/
exports.clearUser = function (success, error) {
exec(success, error, 'IdCardIdentifyPlugin', 'clearUser', []);
};
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment