签名 SDK 开发文档
集成与接口参考

React Native

1.4.29-alpha.19

接入配置

React Native 0.72.15;Android API 24 及以上,iOS 15.0 及以上。

sh
npm install react-native-ywx-sign@1.4.29-alpha.19 --registry=https://nexus-inner.51trust.com/repository/npm/

Android Maven 配置:

groovy
repositories {
    google()
    mavenCentral()
    maven { url 'https://nexus-inner.51trust.com/repository/android/' }
}

iOS Podfile 配置:

ruby
source 'https://github.com/yiwangxin/YWXSignSDK-Specs.git'
source 'https://cdn.cocoapods.org/'
platform :ios, '15.0'
sh
cd ios
pod install --repo-update

初始化与环境配置

重点:认证客户使用 public,医信客户使用 szyx。
typescript
import {SignManager} from 'react-native-ywx-sign';
await SignManager.initialize(clientId);
SignManager.setServerUrl(SignManager.envType.public, clientId, result => {
  console.log(result);
});
// 集成环境使用 SignManager.envType.integrate。

接口说明

导出加密日志

接口: exportEncryptedLogs

导出加密日志。

调用示例

typescript
const result = await SignManager.exportEncryptedLogs();

返回结果

Promise<{path: string; segmentCount: number; recordingFailure?: string}>。path 为加密日志文件路径,segmentCount 为日志分段数,recordingFailure 为可选的记录失败信息;失败时 Promise 拒绝,错误包含 code、message。

获取设备标识

接口: getDeviceId

获取设备标识。

调用示例

typescript
const result = await SignManager.getDeviceId();

返回结果

Promise<string>,成功返回设备标识;失败时 Promise 拒绝,错误包含 code、message。

初始化 SDK

接口: initialize

初始化 SDK。

调用示例

typescript
const result = await SignManager.initialize(clientId);
参数类型说明
clientIdstring客户应用标识

返回结果

Promise<boolean>。Android 返回初始化是否成功;iOS 返回 true,初始化由 setServerUrl 完成。

查询当前用户证书

接口: existsCert

查询当前用户证书。

调用示例

typescript
SignManager.existsCert(result => console.log(result));
参数类型说明
callbackfunction返回结果回调

返回结果

callback(exists: boolean)

查询指定手机号证书

接口: existsCerts

查询指定手机号证书。

调用示例

typescript
SignManager.existsCerts(phone, result => console.log(result));
参数类型说明
phonestring手机号
callbackfunction返回结果回调

返回结果

callback(exists: boolean)

查询指定厂商证书

接口: existsCertWithFirmId

查询指定厂商证书。

调用示例

typescript
SignManager.existsCertWithFirmId(phone, firmId, result => console.log(result));
参数类型说明
phonestring手机号
firmIdstring厂商标识
callbackfunction返回结果回调

返回结果

callback(exists: boolean)

下载证书

接口: certDown

下载证书。

调用示例

typescript
SignManager.certDown(clientId, phone, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
phonestring手机号
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

下载指定厂商证书

接口: certDownWithFirmId

下载指定厂商证书。

调用示例

typescript
SignManager.certDownWithFirmId(clientId, phone, firmId, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
phonestring手机号
firmIdstring厂商标识;独立接入时与 clientId 相同
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

更新证书

接口: certUpdate

更新证书。

调用示例

typescript
SignManager.certUpdate(clientId, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

更新指定厂商证书

接口: certUpdateWithFirmId

更新指定厂商证书。

调用示例

typescript
SignManager.certUpdateWithFirmId(clientId, firmId, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
firmIdstring厂商标识
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

设置服务环境

接口: setServerUrl

设置服务环境。

调用示例

typescript
SignManager.setServerUrl(SignManager.envType.public, clientId, result => console.log(result));
参数类型说明
envNoenumSignManager.envType.public/szyx/integrate
clientIdstring客户应用标识
callbackfunction返回结果回调

返回结果

Android:callback(serverUrl: string | null),成功返回服务根地址,初始化失败返回 null;iOS:callback(),无结果参数。

重置签名密码

接口: certResetPin

重置签名密码。

调用示例

typescript
SignManager.certResetPin(clientId, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

重置指定厂商签名密码

接口: certResetPinWithFirmId

重置指定厂商签名密码。

调用示例

typescript
SignManager.certResetPinWithFirmId(clientId, firmId, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
firmIdstring厂商标识
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

查看证书

接口: showCertView

查看证书。

调用示例

typescript
SignManager.showCertView(clientId, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

查看指定厂商证书

接口: showCertViewWithFirmId

查看指定厂商证书。

调用示例

typescript
SignManager.showCertViewWithFirmId(clientId, firmId, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
firmIdstring厂商标识
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

获取用户证书信息

接口: getCertInfo

获取用户证书信息。

调用示例

typescript
SignManager.getCertInfo(clientId, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

获取指定厂商用户信息

接口: getCertInfoWithFirmId

获取指定厂商用户信息。

调用示例

typescript
SignManager.getCertInfoWithFirmId(clientId, firmId, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
firmIdstring厂商标识
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

设置签章

接口: drawStamp

设置签章。

调用示例

typescript
SignManager.drawStamp(clientId, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

清除本地证书

接口: clearCert

清除本地证书。

调用示例

typescript
SignManager.clearCert();

返回结果

无返回值。

开启免密签名

接口: keepPin

开启免密签名。

调用示例

typescript
SignManager.keepPin(clientId, keepDay, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
keepDaynumber免密有效天数,1–60
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

查询免密状态

接口: isPinExempt

查询免密状态。

调用示例

typescript
SignManager.isPinExempt(result => console.log(result));
参数类型说明
callbackfunction返回结果回调

返回结果

callback(enabled: boolean)

关闭免密签名

接口: clearPin

关闭免密签名。

调用示例

typescript
SignManager.clearPin();

返回结果

无返回值。

处理业务二维码

接口: qrDispose

处理业务二维码。

调用示例

typescript
SignManager.qrDispose(clientId, qrText, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
qrTextstring二维码原文
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

处理二维码与授权登录

接口: qrDisposeWithGrantOauth

处理二维码与授权登录。

调用示例

typescript
SignManager.qrDisposeWithGrantOauth(clientId, qrText, isHandleGrantOauth, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
qrTextstring二维码原文
isHandleGrantOauthboolean是否处理授权登录信息
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

完成授权登录

接口: startOauthLogin

完成授权登录。

调用示例

typescript
SignManager.startOauthLogin(clientId, uuid, grantOpenId, grantUserName, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
uuidstring授权请求标识
grantOpenIdstring授权用户 OpenId
grantUserNamestring授权用户姓名
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

获取 SDK 版本

接口: getVersion

获取 SDK 版本。

调用示例

typescript
SignManager.getVersion(result => console.log(result));
参数类型说明
callbackfunction返回结果回调

返回结果

callback(version: string)

获取用户 OpenId

接口: getOpenId

获取用户 OpenId。

调用示例

typescript
SignManager.getOpenId(result => console.log(result));
参数类型说明
callbackfunction返回结果回调

返回结果

callback(openId: string)

签署待签数据

接口: sign

签署待签数据。

调用示例

typescript
SignManager.sign(clientId, uniqueIdList, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
uniqueIdListstring[]待签数据 ID 数组,最多 100 条
callbackfunction返回结果回调

返回结果

回调结果含 status、message。Android 的业务数据位于 data;iOS 成功时将签名结果字段放在结果顶层,不提供 data 和 uniqueId 字段。

签署指定厂商待签数据

接口: signWithFirmId

签署指定厂商待签数据。

调用示例

typescript
SignManager.signWithFirmId(clientId, firmId, uniqueIdList, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
firmIdstring厂商标识
uniqueIdListstring[]待签数据 ID 数组,最多 100 条
callbackfunction返回结果回调

返回结果

回调结果含 status、message。Android 的业务数据位于 data;iOS 成功时将签名结果字段放在结果顶层,不提供 data 和 uniqueId 字段。

协同签名

接口: signForTeam

协同签名。

调用示例

typescript
SignManager.signForTeam(clientId, uniqueIdList, result => console.log(result));
参数类型说明
clientIdstring客户应用标识
uniqueIdListstring[]待签数据 ID 数组,最多 100 条
callbackfunction返回结果回调

返回结果

回调结果含 status、message。Android 的业务数据位于 data;iOS 成功时将签名结果字段放在结果顶层,不提供 data 和 uniqueId 字段。

获取签章图片

接口: getStampPic

获取签章图片。

调用示例

typescript
SignManager.getStampPic(result => console.log(result));
参数类型说明
callbackfunction返回结果回调

返回结果

callback(stampPicture: string),Base64 图片。

获取指定厂商签章图片

接口: getStampPicWithFirmId

获取指定厂商签章图片。

调用示例

typescript
SignManager.getStampPicWithFirmId(firmId, result => console.log(result));
参数类型说明
firmIdstring厂商标识
callbackfunction返回结果回调

返回结果

callback(stampPicture: string),Base64 图片。

设置生物识别签名

接口: alterFingerSignState

设置生物识别签名。

调用示例

typescript
SignManager.alterFingerSignState(SignManager.fingerSignState.on, result => console.log(result));
参数类型说明
fingerSignState0 | 1SignManager.fingerSignState.on 或 off
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

查询生物识别状态

接口: getFingerSignState

查询生物识别状态。

调用示例

typescript
SignManager.getFingerSignState(result => console.log(result));
参数类型说明
callbackfunction返回结果回调

返回结果

callback(enabled: boolean)

开启自动签名

接口: signAutoRequest

开启自动签名。

调用示例

typescript
const result = await SignManager.signAutoRequest(clientId, firmId, sysTag);
参数类型说明
clientIdstring客户应用标识
firmIdstring厂商标识
sysTagstring自动签系统标识

返回结果

Promise<业务结果>:status、message、data。

查询自动签名信息

接口: signAutoInfo

查询自动签名信息。

调用示例

typescript
const result = await SignManager.signAutoInfo(clientId);
参数类型说明
clientIdstring客户应用标识

返回结果

Promise<业务结果>:status、message、data。

查询指定厂商自动签名信息

接口: signAutoInfoWithFirmId

查询指定厂商自动签名信息。

调用示例

typescript
const result = await SignManager.signAutoInfoWithFirmId(clientId, firmId);
参数类型说明
clientIdstring客户应用标识
firmIdstring厂商标识

返回结果

Promise<业务结果>:status、message、data。

关闭自动签名

接口: signAutoStop

关闭自动签名。

调用示例

typescript
const result = await SignManager.signAutoStop(clientId, firmId, sysTag);
参数类型说明
clientIdstring客户应用标识
firmIdstring厂商标识
sysTagstring自动签系统标识

返回结果

Promise<业务结果>:status、message、data。

授权他人签名

接口: sureGrantSign

授权他人签名。

调用示例

typescript
const result = await SignManager.sureGrantSign(clientId, firmId, grantedUserId, timeOut);
参数类型说明
clientIdstring客户应用标识
firmIdstring厂商标识
grantedUserIdstring被授权用户标识
timeOutnumber授权时长,单位小时

返回结果

Promise<业务结果>:status、message、data。

设置页面语言

接口: setLanguage

设置页面语言。

调用示例

typescript
SignManager.setLanguage(language);
参数类型说明
languagestringzh 或 en

返回结果

无返回值。

显示 PIN 输入框

接口: showPinWindow

显示 PIN 输入框。

调用示例

typescript
const result = await SignManager.showPinWindow();

返回结果

Promise 结果含 status、message、data;成功时 data.pin 为签名密码,data.pinForNet 为网络传输密文。

关闭 PIN 输入框

接口: hidePinWindow

关闭 PIN 输入框。

调用示例

typescript
const result = await SignManager.hidePinWindow();

返回结果

Promise<业务结果>:status、message、data。

设置指定厂商签章

接口: drawStampWithFirmId

设置指定厂商签章。

调用示例

typescript
const result = await SignManager.drawStampWithFirmId(clientId, firmId);
参数类型说明
clientIdstring客户应用标识
firmIdstring厂商标识

返回结果

Promise<业务结果>:status、message、data。

查询可用生物识别类型(iOS)

接口: getSupportedBiometricTypes

查询可用生物识别类型。

调用示例

typescript
SignManager.getSupportedBiometricTypes?.(result => console.log(result));
参数类型说明
callbackfunction返回结果回调

返回结果

callback({status, message, data: ('fingerprint' | 'face')[] | null})

开启指定生物识别签名(iOS)

接口: openBiometric

开启指定生物识别签名。

调用示例

typescript
SignManager.getSupportedBiometricTypes?.(result => {
  const type = result.status === '0' ? result.data?.[0] : undefined;
  if (type) SignManager.openBiometric?.(type, value => console.log(value));
});
参数类型说明
type'fingerprint' | 'face'从 getSupportedBiometricTypes 返回值中选择
callbackfunction返回结果回调

返回结果

回调业务结果:status、message、data。

升级指引

sh
npm install react-native-ywx-sign@1.4.29-alpha.19 --registry=https://nexus-inner.51trust.com/repository/npm/
cd ios
pod install --repo-update
原调用必须修改
setEnableLog(...)删除调用;通过 exportEncryptedLogs() 导出加密日志
setIsHideSignLoading(...)删除调用
signBySignet(...)改用 sign(clientId, uniqueIdList, callback)