Appearance
客户端 API
实例
AosSign
- AosSign 参数说明
参数名称 | 是否必填 | 类型 | 默认值 | 说明 |
---|---|---|---|---|
host | 否 | string | - | 指定 SDK 访问的服务地址 host |
headers | 否 | object | - | 自定义请求头 |
container | 否 | HTMLElement|string | Body | 挂载容器 |
mode | 否 | string | - | SDK 渲染模式(h5|pc) ,不指定则根据当前环境自动切换 |
thirdParams | 否 | string | - | 第三方服务参数 |
remoteService | 否 | boolean | true | 是否使用远程服务 |
remoteServiceUrl | 否 | string | - | 远程服务地址 |
方法 1:
html
<script src="https://open.isigning.cn/sdk/umd/isigning.min.js"></script>
<script>
AosSign(
{
// host: '', // 调用接口host地址
// thirdParams: 'token=xxx&a=1&b=2',
// remoteService: false, // 是否调用远程服务完成签署,默认为false
// remoteServiceUrl: 'https://open.isigning.cn/sdk/projects/h5/' // 远程服务地址
},
function (aos) {
// aos 详细说明请查看下表
// 完成初始化后可以进行业务操作
}
);
</script>
方法 2:
ts
const aos = AosSign({
host: "", // 调用接口host地址
thirdParams: "token=xxx&a=1&b=2", // 第三方服务参数
remoteService: false, // 是否调用远程服务完成签署,默认为false
remoteServiceUrl: "https://open.isigning.cn/sdk/projects/h5/" // 远程服务地址
});
aos.startSign({ ...props });
实例 / 方法
aos.startSign(options)
- 参数: startSign 参数结构说明
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
signId | 与 files 必填其一 | string | 签署编号,用于连续签署,在上次签署完成后回返回,首次签署不需要传入 |
files | 与 signId 必填其一 | array | 待签文件,详细结构参看files 结构说明 |
signType | 否 | REMOTE / TOUCH / EXTERNAL | 远程签署:REMOTE 触摸屏签署:TOUCH 外设签字板签署:EXTERNAL |
signQrcodeURL | 否 | string | signType=REMOTE 时,可指定生成二维码的前置地址 |
qrcode | 否 | string / boolean | 是否在签署完成后在文件左上角自动生成存证二维码,传入 string 类型时,支持自定义存证二维码地址 |
signBatch | 否 | boolean | 是否开启批量签署(签字位) |
signDistinguish | 否 | boolean | 是否开启签字校验(签字位) |
signVerify | 否 | boolean| | 是否校验当前签字笔迹书写是否是本人姓名,maxTryCount 表示最大尝试次数,超过则不再强制校验 |
signSample | 否 | boolean | 是否开启留样,签字识别不通过时,进入留样流程 |
signCapture | 否 | CAPTURE_ALLOW / CAPTUEE_REQUIRE | 是否开启签字时拍照(仅适用于带摄像头的签字板) |
isAsyncSubmit | 否 | boolean | 是否开启异步签署,默认值 false |
recover | 否 | boolean | 是否开启笔迹回显功能 |
signBoard | 否 | object | 签字板信息 |
isToolsBatch | 否 | boolean | 是否显示批量签署工具栏(和自由签工具栏、快捷签署工具栏冲突) |
isToolsQuickSign | 否 | boolean | 是否显示快捷签署工具栏(和自由签工具栏、批量签署工具栏冲突) |
toolsBar | 否 | object | 工具栏配置 |
watermark | 否 | object | 水印配置 |
pagingOptions | 否 | object | 骑缝章全局配置 |
logo | 否 | boolean | string | 签字板页面 Logo 配置 |
signedSample | 否 | bool | 已经签名留样,如果为 true 则在调章时法人可以切换到签字调章 |
isFree | 否 | bool | 是否开启自由签,开启后允许在固定签署位之外添加签署位 |
isRequired | 否 | bool | 设置所有控件是否必填,如 files 里面的控件设置 required, 是否必填就取决于本身 |
socialCreditCode | 否 | string | 企业社会信用代码,不传入将默认获取当前用户可访问的所有印章列表 |
extendParams | 否 | object | 扩展字段 |
thirdBizId | 是 | string | 业务系统编号,完成签署后将同步返回,便于业务系统后续处理 |
signBoard
结构说明
ts
{
// 设置签字板左上角的内容
// 默认是true, false是关闭, 可支持字符串修改内容
tipText: string | boolean;
// 设置签字板水印内容
// 默认是true, false是关闭, 可支持字符串修改内容
watermark: string | boolean;
// 设置签字板区域的内容
// 默认是true, false是关闭, 可支持字符串修改内容
bgContent: string | boolean;
// 压力最大值, 默认值为1
pMax?: 1023,
// 开启伪压力,建议不设置
pressure?: boolean;
//签字板尺寸
size?: {
//弹窗内签字板的宽度
width?: string;
//弹窗内签字板的高度
height?: string;
//外设签字板的宽度
originWidth?: number;
//外设签字板的高度
originHeight?: number;
},
//设备信息
deviceInfo?: {
//设备ID
deviceId?: string;
//设备采样率
deviceSamplingRate?: number;
//设备操作系统Android、IOS、WIN、MAC等
deviceSystem?: string;
//签字板型号 1-手机,2-平板,3-WIN,4-MAC,5-其他
deviceType?: number;
//外设签字板的宽度
deviceWidth?: number;
//外设签字板的高度
deviceHeight?: number;
}
}
toolsBar 结构说明
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
sign | 否 | boolean | object | 签字 |
--width | 否 | number | 指定自由签签字组件宽度 |
--height | 否 | number | 指定自由签签字组件高度 |
--datetime | 否 | string | boolean | 签字后是否自动签署日期 |
seal | 否 | boolean | 签章 |
--datetime | 否 | string | boolean | 签章后是否自动签署日期 |
finger | 否 | boolean | 指纹 |
signFinger | 否 | boolean | 签字+指纹 |
paging | 否 | boolean | 骑缝章 |
return | 否 | boolean | 控制是否显示返回按钮 |
- 示例代码:
javascript
{
// 是否把签字控件加入工具栏中
sign: {
width: 100,
height: 100,
datetime: "YYYY-MM-DD"
};
// 是否把签章控件加入工具栏中
seal: {
datetime: true
};
//是否把指纹控件加入工具栏中
finger: true;
//是否把签字指纹控件加入工具栏中
signFinger: true;
}
watermark 结构说明
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
image | 是 | string | 水印图片 base64 格式 |
moment | 否 | number | 签署时机,1-签署前 2-签署后,默认值 1 |
page | 否 | number | 签署水印页码,0-全部页,1-第一页,默认值 1 |
pagingOptions 结构说明
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
margin | 否 | string | 印章距页面边距距离,默认为 5px |
maxSealCutCount | 否 | number | 印模最多被裁剪为多少份,默认为 14 |
minPageSealCoincidenceNum | 否 | number | 印模最小重合页数,默认 2 |
signPlace | 否 | 'RIGHT' | 'TOP' | 'BOTTOM' | 骑缝章-签署位置 RIGHT(右边) TOP(顶部) BOTTOM(底部)默认为 RIGHT |
useDoublePrintMode | 否 | boolean | 骑缝章-双面打印标记,默认为否 |
files 结构说明
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
file | file、currentFileId、url 必填其一 | File | Blob | 待签文件流,目前只允许对 PDF | OFD 文件进行签署 |
url | file、currentFileId、url 必填其一 | string | 待签文件可访问的 URL |
currentFileId | file、currentFileId、url 必填其一 | string | 系统文件唯一标识,如果为空则必传 file |
name | 否 | string | 文件名称,如果 file 为 Blob 格式时,可通过 name 指定文件名 |
required | 否 | boolean | 指定文件是否必签 |
isFree | 否 | boolean | 是否针对单独的文件开启自由签,开启后允许在固定签署位之外添加签署位 |
seal | 否 | array | 印章位信息,详情签署位结构说明 |
sign | 否 | array | 签字位信息,详情签署位结构说明、签字位专用字段 |
finger | 否 | array | 指纹位信息,详情签署位结构说明 |
pagingSeal | 否 | array | 骑缝章信息,详情签署位结构说明、骑缝章专用字段 |
datetime | 否 | array | 日期控件信息,详情签署位结构说明 |
text | 否 | array | 文本控件信息,详情签署位结构说明、文本专用字段 |
position | 否 | array | 控件信息,详情签署位结构说明、position |
签署位通用结构说明
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
x | 是 | number | 签署位所在 x 轴位置 |
y | 是 | number | 签署位所在 y 轴位置 |
width | 是 | number | 签署位的宽度 |
height | 是 | number | 签署位的高度 |
id | 是 | string | 签署位唯一编号,建议使用 uuid |
page | 是 | number | 所在 pdf 的页码,从 1 开始 |
required | 否 | bool | 是否为必需签署的内容 |
name | 否 | string | 签署位名称,用于提示必填 |
groupId | 否 | string | 签署位分组 ID,同 ID 同类型的签署位可以参与批量签署 |
relateId | 否 | string | 签署位关联 ID,同 ID 的签署位可执行关联操作(例:签字自动签署日期,设置指定签字位和日期位该字段相同) |
position 结构说明
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
type | true | string | 指定签署位类型 |
签字位专用字段
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
isScrollSign | 否 | boolean | 开启长文本签署 |
tipText | 否 | string | 签署提示文本 |
align | 否 | string | 签字在签署区域内的对齐方式(默认 CENTER) 可选值:LEFT| RIGHT| CENTER | TOP | BOTTOM |
watermark | 否 | string | boolean | 签字在签署区域内的水印文本,为布尔值的时可关闭水印文本 |
bgContent | 否 | string/boolean/object | 签字在签署区域内的默认背景提示文本, object.autoHidden: 可控制签字阶段是否自动隐藏,object.text:指定文本,object.useUserName: 控制提示语是否为当前签署人姓名 |
color | 否 | string | 签字笔迹颜色 16 进制字符串 |
签章位专用字段
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
sealTypeCodes | 否 | string |string[] | 可指定骑缝章印章类型 |
骑缝章专用字段
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
isDoubleMode | 否 | boolaen | 是否使用双面打印(开启时,签章会签到奇数页),默认 false |
sealTypeCodes | 否 | string |string[] | 可指定骑缝章印章类型 |
文本专用字段
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
input | 否 | string | 文本组件默认值 |
readonly | 否 | boolaen | 是否只读,默认 false |
fontSize | 否 | boolaen | 字体大小, 默认 14 |
maxLength | 否 | boolaen | 限制最大文本长度 |
日期专用字段
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
format | 否 | string | 日期格式化,例:YYYY-MM-DD |
- 返回值:void
- 用法:
- 示例:
javascript
aos.startSign({
files: [
{
// 传递File文件对象
file: new File()
}
],
isFree: true,
thirdBizId: ""
});
aos.startSignTask(options)
发起流程签署
WARNING
本 API 需和任务创建接口配合使用,无法单独使用
- 参数: startSignTask 参数结构说明
参数名称 | 是否必填 | 类型 | 说明 |
---|---|---|---|
taskIds | 是 | string|string[] | 签署任务 ids,支持多流程关联签署 |
callbackUrl | 是 | string | 签署完成后服务通知业务层的回调接口地址 |
signer | 是 | string | 签署人 ID |
流程签署支持部分 startSign 参数,支持参数清单如下
signBatch,
signDistinguish,
signVerify,
signSample,
extendParams,
thirdBizId
参数详细描述见startSign 配置参数描述
- 返回值:void
- 用法:
由流程任务创建接口完成任务创建,本 API 传递接口返回的关键数据进行流程签署
- 示例:
js
aos.startSignTask({
taskIds: ["xxx"],
signer: "xxxx",
callbackUrl: "https://www.test.com",
thirdBizId: "xxxx"
});
aos.startView(options)
- 参数:
options: IStartViewOptions | string
ts
interface IStartViewOptions {
signId?: string;
files?: Array<IFile>;
}
interface IFile {
currentFileId: string;
}
- 返回值:void
- 用法:
当完成签署后,建议将 signId 与 thirdBizId 关联存储,方便实现查看或继续签署。
- 示例:
js
// 直接传递signId
aos.startView(signId);
javascript
// 直接传递signId
aos.startView({
signId: "xxxxx"
});
javascript
// 直接传递文件id列表
aos.startView({
files: [{ currentFileId: "xxxxx" }]
});
aos.close()
- 参数:无
- 返回值:void
- 用法:
- 示例:
js
// 关闭签署
aos.close();
aos.setToken(options)
TIP
现 token 续期功能以默认开启
参数:options
返回值:void
用法:
示例:
js
// 传入一个字符串,不会完成自动续约,需要用户主动续约
aos.setToken("");
实例 / 属性
aos.getInfo
- 返回值:void
- 用法:
aos.event
- 返回值:
EmitEvent
- 用法:
监听签署相应事件
实例 / 事件监听
onSignLoadComplete
- 参数:
- 返回值:void
- 用法:
- 示例:
js
// 签署页面加载完成事件
aos.event.on("onSignLoadComplete", () => {});
onCloseFrame
- 回调参数:无
- 用法:
- 示例:
js
// 弹窗被关闭事件
aos.event.on("onCloseFrame", () => {});
onSignStart
- 回调参数:无
- 用法:
- 示例:
js
// 签字板打开事件
aos.event.on("onSignStart", () => {});
onSignComplete
- 回调参数:无
- 用法:
- 示例:
js
// 签字板关闭事件
aos.event.on("onSignComplete", () => {});
onSubmitSuccess
签署提交成功事件
- 回调参数:options: ISubmitSuccessOptions
ts
interface ISubmitSuccessOptions {
// 签署ID
signId: string;
// 发起签署时的第三方业务ID
thirdBizId: string;
// 已签署的文件列表
files: Array<string>;
// 源文件ID
sourceFileList: Array<string>;
// 文件列表hash(后台推送文件时用于校验文件完整性)
fileMd5List: Array<string>;
}
- 用法:获取实例后可用于任意位置监听签署提交成功事件
- 示例:
js
aos.event.on("onSubmitSuccess", options => {
// 签署成功执行回调
const { signId, thirdBizId, files, sourceFileList, fileMd5List } = options;
});
asyncSubmitSuccess
异步签署提交成功事件,后续会轮训签署结果
- 回调参数:options: ISubmitSuccessOptions
ts
interface IAsyncSubmitSuccessOptions {
// 签署任务ID
taskId: string;
}
- 用法:获取实例后可用于任意位置监听签署提交成功事件
- 示例:
js
aos.event.on("asyncSubmitSuccess", options => {
// 异步签署成功执行回调
const { taskId } = options;
});
asyncSubmitComplete
异步签署提交完成事件,轮训签署结果完成
- 回调参数:options: IAsyncSubmitCompleteOptions
ts
interface IAsyncSubmitCompleteOptions {
// 签署ID
signId: string;
// 发起签署时的第三方业务ID
thirdBizId: string;
// 已签署的文件列表
files: Array<string>;
// 源文件ID
sourceFileList: Array<string>;
// 文件列表hash(后台推送文件时用于校验文件完整性)
fileMd5List: Array<string>;
}
- 用法:获取实例后可用于任意位置监听签署提交成功事件
- 示例:
js
aos.event.on("asyncSubmitComplete", options => {
// 异步签署成功执行回调
const { signId, thirdBizId, files, sourceFileList, fileMd5List } = options;
});