Skip to content
大纲

快速接入

本文将介绍如何用最短的时间完成配置签署位 SDK 的集成。

注意

以下文档内容中"{}"包含的变量信息均可从客户端凭证文件中获取,对接过程中需替换对应的值

环境要求

服务端

  • 非私有化部署的情况业务方服务器需支持外网访问,了解原因

客户端

  • 浏览器支持 Chrome49+

SDK 集成

步骤 1:租户开通

签署 SDK 使用需要用到亲笔签运营平台,需申请客户端凭证等相关信息,可由项目侧或者商务侧发起邮件申请,并给租户分配指定权限

步骤 2:获取 Token

通过步骤一得到的客户端凭证等相关信息可以调用能力平台的获取 Token 的接口来获取调用签署 SDK 所需的 token,详细 Token 获取接口调用流程见<服务端 API-获取 Token>接口 ↓

步骤 3:引入 SDK

经过步骤 1、2 准备工作已做好,现在可以在项目中使用配置签署位 SDK 了,我们提供了以下几种常见的 Web/H5 项目对接方式的 demo 代码,您可以选择合适的代码集成

html
<script src="{SDK访问地址}/sign-config-v2/help.js"></script>
<script>
  const help = new SignConfigHelp({
    options: {
      files: [{
        name: ''; //文件名称
        currentFileId: '';//文件ID
        position:[]
      }],
      signers: [{
        id: '111'
        Signatory:'签署主体', //签署主体
        role:'签署方',//签署方
        name: "签署人姓名" //签署人姓名
        phone:'13800000000', //手机号
        companyName:'企业名称', //企业名称
        color: '#efefef'
      }],
      service: {
        apiConfig: {
          host: "{能力访问地址}/{渠道编码}-{应用编码}/aoscript-gateway",
          headers: {
            "X-AOS-Voucher": "{客户端凭证}"
          }
        },
        token: ''
      },
      sealCodeTypes: [{
        label: "印章名称",
        code: "印章code"
      }],
    },
    target: document.body,
    url: '{SDK访问地址}/sign-config-v2/index.html',
  })

  help.on('onSubmitSuccess', function (data) {
    console.log('onSubmitSuccess', data)
  })
  help.on('onCloseFrame', function () {
    console.log('onCloseFrame')
  })
  help.on('onInitSuccess',()=>{
    console.log('onInitSuccess')
  })
  help.on('onSave',(data)=>{
    console.log('onSave', data)
  })
  help.on("onAutoSave",(data)=>{
    console.log('onAutoSave',data)
  })
</script>

步骤 4:唤起 SDK

实例化完成后会自动在target元素下创建配置签署SDK的UI界面

  • 如下图所示

可在顶部区域选择需要配置的组件,右侧区域可以配置具体组件的属性

步骤 5:配置完成

按自行要求完成传入文件的签署位配置后,点击右上方立即发起按钮即可,监听onSave事件即可获取到已经配置好的签署位数据,可直接使用到签署SDK中

参数类型

SignConfigHelp

参数字段参数类型是否必填参数描述
targetHTMLElement配置签署位容器,默认 Body
urlstring配置签署位服务地址
optionsIOptions签署位配置参数

IOptions

参数字段参数类型是否必填参数描述
filesIFiles配置签署位的文件列表
serviceIService签署服务配置
signersISigner签署人列表
permissionIPermission权限
currentIndexnumber当前选中文件 index
sealCodeTypesISealCodeProps印章列表

IFiles 配置签署位的文件列表

参数字段参数类型是否必填参数描述
namestring文件名称
currentFileIdstring文件 ID
sealArray<IPosition>印章
signArray<IPosition>签字
fingerArray<IPosition>指纹
signFingerArray<IPosition>签字+指纹
pagingSealArray<IPosition>骑缝章
positionArray<IPosition>签署位集和

IPosition 基础组件类型

参数字段参数类型是否必填参数描述
idnumber签署位唯一标识符
xnumber签署位 X 坐标
ynumber签署位 Y 坐标
widthnumber签署位宽度
heightnumber签署位高度
pagenumber签署位所在页数
requiredboolean是否必签
signerIdboolean签署人 id
namestring当前签署位名称
positionTypestring组件类型 1 印章,2 签字,4 文本,5 指纹,6 日期,7 签字指纹,100 单行, 101 多行, 102 数字,103 身份证,104 日期可选日历,105 下拉,106 多选,107 勾选 108 单选框 109 骑缝章
extExtOption额外参数

ExtOption 额外参数

参数字段参数类型是否必填参数描述
fontSizenumber字体大小
weightboolean是否加粗
colornumber字体颜色
italicboolean是否斜体
underlineboolean是否有下划线
alignstring行内对齐 "CENTER" | "LEFT" | "RIGHT"
lineAlignstring行对齐 "TOP" | "CENTER" | "BOTTOM"
maxLengthnumber单行最大长度
maxLinenumber最大行数
optionsArray<IOption>下拉选项列表
optionIOption勾选内容
bottomTipstring提示文案
sealTypeCodesstring[]印章 code 集和
relateIdstring集合 Id

IOption 下拉内容

参数字段参数类型是否必填参数描述
keystring唯一标识符
labelstring下拉内容

ISigner 签署人列表

参数字段参数类型是否必填参数描述
idstring
Signatorystring签署主体
companyNamestring企业名称
rolenumber签署方
namestring签署人姓名
phonestring手机号
colorstring签署人颜色

IService 基础服务配置

参数字段参数类型是否必填参数描述
apiConfigIApiConfigApi 配置
tokenstringToken

IApiConfig 基础服务配置

参数字段参数类型是否必填参数描述
envstring访问环境,可选'dev'|'develop'|'standard'|'open'
hoststring访问接口根地址
headersobject自定义请求头

IPermission 权限配置

参数字段参数类型是否必填参数描述默认值
positionsIPositionsPermission显示签署人管理"{sign:true,seal:true,finger:true}"
operateIOperate显示返回

IPositionsPermission 组件权限

参数字段参数类型是否必填参数描述默认值
signboolean签字位true
sealboolean印章true
fingerboolean指纹true
signFingerboolean签字指纹
pagingSealboolean骑缝章
inputboolean单行文本
textareaboolean多行文本
dateboolean日期
inputNumberboolean数字
idcardboolean身份证
radioboolean单选框
checksboolean复选框
selectboolean下拉选择
singleCheckboolean勾选

IOperate 显示的操作按钮 默认全都显示

参数字段参数类型是否必填参数描述默认值
nameboolean是否展示组件名称选项true
pageboolean是否展示应用页true
isRequiredboolean是否展示必填选项true
autoTimeboolean是否展示自动签署日期true
sealCodesboolean是否选择印章类型true
backboolean是否显示返回true
saveboolean是否显示保存true
submitboolean是否显示立即发起true
formatboolean是否可选日期格式true

实例

SignConfigHelp (Class)

示例代码

js
const help = new SignConfigHelp({
  options: {
    files: [{
      name: "文件3"; //文件名称
      currentFileId: "200754440742189063";//文件ID
    }],
    service: {
      apiConfig: {
        env: 'dev'|'develop'|'standard'|'open',
        host: string
      },
      token: string
    },
    permission: {
      positions: {
          sign: true,
          seal: true,
          finger: true,
          signFinger: true,
          date: true,
          input: true,
          pagingSeal: true,
          radio: true,
          inputNumber: true,
          idcard: true,
          checks: true,
          select: true,
          singleCheck: true,
          textarea: true,
      },
    },
  },
  target: document.getElementById('sign')|| document.body,
  url: url+'/index.html',
})

实例 / 事件

onSubmitSuccess

js
// 配置完成按钮点击事件
help.on("onSubmitSuccess", data => {
  console.log("onSubmitSuccess", data);
});

onCloseFrame

js
// 返回按钮点击事件
help.on("onCloseFrame", () => {
  console.log(87, "onCloseFrame");
});

onAutoSave

js
//定时自动保存
help.on("onAutoSave", data => {
  console.log("onAutoSave", data);
});

onInitSuccess

js
//初始化完成事件
help.on("onInitSuccess", () => {
  //
});

实例 / 方法

getSignData

js
//获取完整数据接口
help.getSignData().then((res: IFiles[]) => {
  console.log(res);
});