Skip to content
大纲

客户端 API

实例

AosSign

  • AosSign 参数说明
参数名称是否必填类型默认值说明
hoststring-指定 SDK 访问的服务地址 host
headersobject-自定义请求头
containerHTMLElement|stringBody挂载容器
modestring-SDK 渲染模式(h5|pc) ,不指定则根据当前环境自动切换
thirdParamsstring-第三方服务参数
remoteServicebooleantrue是否使用远程服务
remoteServiceUrlstring-远程服务地址

方法 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 结构说明
signTypeREMOTE / TOUCH / EXTERNAL远程签署:REMOTE
触摸屏签署:TOUCH
外设签字板签署:EXTERNAL
signQrcodeURLstringsignType=REMOTE 时,可指定生成二维码的前置地址
qrcodestring / boolean是否在签署完成后在文件左上角自动生成存证二维码,传入 string 类型时,支持自定义存证二维码地址
signBatchboolean是否开启批量签署(签字位)
signDistinguishboolean是否开启签字校验(签字位)
signVerifyboolean|是否校验当前签字笔迹书写是否是本人姓名,maxTryCount 表示最大尝试次数,超过则不再强制校验
signSampleboolean是否开启留样,签字识别不通过时,进入留样流程
signCaptureCAPTURE_ALLOW / CAPTUEE_REQUIRE是否开启签字时拍照(仅适用于带摄像头的签字板)
isAsyncSubmitboolean是否开启异步签署,默认值 false
recoverboolean是否开启笔迹回显功能
signBoardobject签字板信息
isToolsBatchboolean是否显示批量签署工具栏(和自由签工具栏、快捷签署工具栏冲突)
isToolsQuickSignboolean是否显示快捷签署工具栏(和自由签工具栏、批量签署工具栏冲突)
toolsBarobject工具栏配置
watermarkobject水印配置
pagingOptionsobject骑缝章全局配置
logoboolean | string签字板页面 Logo 配置
signedSamplebool已经签名留样,如果为 true 则在调章时法人可以切换到签字调章
isFreebool是否开启自由签,开启后允许在固定签署位之外添加签署位
isRequiredbool设置所有控件是否必填,如 files 里面的控件设置 required, 是否必填就取决于本身
socialCreditCodestring企业社会信用代码,不传入将默认获取当前用户可访问的所有印章列表
extendParamsobject扩展字段
thirdBizIdstring业务系统编号,完成签署后将同步返回,便于业务系统后续处理

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 结构说明

参数名称是否必填类型说明
signboolean | object签字
--widthnumber指定自由签签字组件宽度
--heightnumber指定自由签签字组件高度
--datetimestring | boolean签字后是否自动签署日期
sealboolean签章
--datetimestring | boolean签章后是否自动签署日期
fingerboolean指纹
signFingerboolean签字+指纹
pagingboolean骑缝章
returnboolean控制是否显示返回按钮
  • 示例代码:
javascript
{
  // 是否把签字控件加入工具栏中
  sign: {
    width: 100,
    height: 100,
    datetime: "YYYY-MM-DD"
  };
  // 是否把签章控件加入工具栏中
  seal: {
    datetime: true
  };
  //是否把指纹控件加入工具栏中
  finger: true;
  //是否把签字指纹控件加入工具栏中
  signFinger: true;
}

watermark 结构说明

参数名称是否必填类型说明
imagestring水印图片 base64 格式
momentnumber签署时机,1-签署前 2-签署后,默认值 1
pagenumber签署水印页码,0-全部页,1-第一页,默认值 1

pagingOptions 结构说明

参数名称是否必填类型说明
marginstring印章距页面边距距离,默认为 5px
maxSealCutCountnumber印模最多被裁剪为多少份,默认为 14
minPageSealCoincidenceNumnumber印模最小重合页数,默认 2
signPlace'RIGHT' | 'TOP' | 'BOTTOM'骑缝章-签署位置 RIGHT(右边) TOP(顶部) BOTTOM(底部)默认为 RIGHT
useDoublePrintModeboolean骑缝章-双面打印标记,默认为否

files 结构说明

参数名称是否必填类型说明
filefile、currentFileId、url 必填其一File | Blob待签文件流,目前只允许对 PDF | OFD 文件进行签署
urlfile、currentFileId、url 必填其一string待签文件可访问的 URL
currentFileIdfile、currentFileId、url 必填其一string系统文件唯一标识,如果为空则必传 file
namestring文件名称,如果 file 为 Blob 格式时,可通过 name 指定文件名
requiredboolean指定文件是否必签
isFreeboolean是否针对单独的文件开启自由签,开启后允许在固定签署位之外添加签署位
sealarray印章位信息,详情签署位结构说明
signarray签字位信息,详情签署位结构说明签字位专用字段
fingerarray指纹位信息,详情签署位结构说明
pagingSealarray骑缝章信息,详情签署位结构说明骑缝章专用字段
datetimearray日期控件信息,详情签署位结构说明
textarray文本控件信息,详情签署位结构说明文本专用字段
positionarray控件信息,详情签署位结构说明position

签署位通用结构说明

参数名称是否必填类型说明
xnumber签署位所在 x 轴位置
ynumber签署位所在 y 轴位置
widthnumber签署位的宽度
heightnumber签署位的高度
idstring签署位唯一编号,建议使用 uuid
pagenumber所在 pdf 的页码,从 1 开始
requiredbool是否为必需签署的内容
namestring签署位名称,用于提示必填
groupIdstring签署位分组 ID,同 ID 同类型的签署位可以参与批量签署
relateIdstring签署位关联 ID,同 ID 的签署位可执行关联操作(例:签字自动签署日期,设置指定签字位和日期位该字段相同)

position 结构说明

参数名称是否必填类型说明
typetruestring指定签署位类型

签字位专用字段

参数名称是否必填类型说明
isScrollSignboolean开启长文本签署
tipTextstring签署提示文本
alignstring签字在签署区域内的对齐方式(默认 CENTER)
可选值:LEFT| RIGHT| CENTER | TOP | BOTTOM
watermarkstring | boolean签字在签署区域内的水印文本,为布尔值的时可关闭水印文本
bgContentstring/boolean/object签字在签署区域内的默认背景提示文本, object.autoHidden: 可控制签字阶段是否自动隐藏,object.text:指定文本,object.useUserName: 控制提示语是否为当前签署人姓名
colorstring签字笔迹颜色 16 进制字符串

签章位专用字段

参数名称是否必填类型说明
sealTypeCodesstring |string[]可指定骑缝章印章类型

骑缝章专用字段

参数名称是否必填类型说明
isDoubleModeboolaen是否使用双面打印(开启时,签章会签到奇数页),默认 false
sealTypeCodesstring |string[]可指定骑缝章印章类型

文本专用字段

参数名称是否必填类型说明
inputstring文本组件默认值
readonlyboolaen是否只读,默认 false
fontSizeboolaen字体大小, 默认 14
maxLengthboolaen限制最大文本长度

日期专用字段

参数名称是否必填类型说明
formatstring日期格式化,例:YYYY-MM-DD
  • 返回值:void
  • 用法:
  • 示例:
javascript
aos.startSign({
  files: [
    {
      // 传递File文件对象
      file: new File()
    }
  ],
  isFree: true,
  thirdBizId: ""
});

aos.startSignTask(options)

发起流程签署

WARNING

本 API 需和任务创建接口配合使用,无法单独使用

  • 参数: startSignTask 参数结构说明
参数名称是否必填类型说明
taskIdsstring|string[]签署任务 ids,支持多流程关联签署
callbackUrlstring签署完成后服务通知业务层的回调接口地址
signerstring签署人 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
  • 用法:

    当完成签署后,建议将 signIdthirdBizId 关联存储,方便实现查看或继续签署。

  • 示例:
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;
});