集成方式说明
1 初始化
目录名称 | 作用 |
---|---|
fonts | JS-SDK字体资源文件 |
img | JS-SDK图片资源文件 |
js | JS-SDK脚本资源文件 |
对接方需要在预定签署的HTML文件中进入JS-SDK, 具体操作如下:
<script src=/js/index.js/>
var url = 'http://192.168.53.135:8080/proxy';
var instance = new qysSdk(url, {
query: { a: 1, token: 'ab1234' },
});
参数名称 | 必须 | 参数说明 |
---|---|---|
url | 是 | 对接方服务器接口地址,JS-SDK会请求该接口地址,实现要求见后续说明 |
query | 是 | 自定义参数,JS-SDK会在请求时带上这些参数 |
2 个人签署页面接口
var contractId = '2603417854124281870';
var contact = '137******44';
var promise = instance.personalSign(contractId, contact , {
signSuccessCb: function() {
console.log('签署成功');
},
authFailCb: function() {
console.log('认证退出');
},
});
参数名称 | 必须 | 描述 |
---|---|---|
contractId | 是 | 对接方将要将要用于页面签署的合同Id |
contact | 是 | 将要在页面上进行签署的用户联系方式,需要合同节点当前已经达到该用户的签署节点 |
signSuccessCb | 是 | 签署成功后的操作,需对接方自行进行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,签署成功后会停留在合同页面 |
authFailCb | 是 | 用户认证过程中,点击页面上的 “退出认证” 按钮后触发的操作,需对接方自行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,用户点击按钮后不会触发任何操作 |
<!DOCTYPE html>
<html lang=zh-CN>
<head>
<meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<meta name=apple-mobile-web-app-capable content=yes>
<meta name=apple-mobile-web-app-status-bar-style content=black>
<meta name=baidu-site-verification content=MHGvTSMXM0>
<meta name=author content=契约锁>
<meta name=description content=契约锁-守护我们的契约精神!告别纸质合同,契约锁为您永久保管好您在契约锁上签约的电子合同>
<meta content="telephone=no" name=format-detection>
<title>契约锁电子合同云平台</title>
<link href=/js/index.js rel=preload as=script>
</head><body style="margin: 0"><div id=app></div > <script>
setTimeout(() => {
var instance = new qysSdk('http://192.168.53.135:8080/proxy', {
query: {
a: 1,
token: 'ab1234'
},
});
var promise = instance.personalSign('2603417854124281870', '137******44', {
signSuccessCb: function () {
console.log('签署成功');
},
authFailCb: function () {
console.log('认证退出');
},
});
promise.then(data => {
var element = data;
element.style.border = '1px solid red';
element.style.width = '100%';
element.style.height = '100%';
element.style.position = 'fixed';
document.body.append(element);
});
}, 1000);
</script>
<script src=/js/index.js> </script> </body> </html>
3 个人认证页面接口
调用方式:
var promise = instance.personalAuth(
{
mode: 'FACE', // DEFAULT,FACE,BANK
contact: '137******44',
},
{
authSuccessCb: function(userInfo) {
console.log('认证成功 :', userInfo);
return userInfo;
},
authFailCb: function() {
console.log('认证退出');
},
}
);
参数名称 | 必须 | 描述 |
---|---|---|
mode | 是 | 认证模式,DEFAULT(“默认认证模式” )、FACE(“人脸认证模式”)、BANK(“银行卡四要素认证模式”) |
contact | 是 | 待认证用户联系方式 |
username | 否 | 指定的认证姓名,仅待认证用户未实名时生效 |
idCardNo | 否 | 指定的身份证号码,仅待认证用户未实名时生效 |
bankNo | 否 | 指定的银行卡卡号,仅认证模式为银行卡四要素认证时生效 |
bankMobile | 否 | 指定的银行卡预留手机号,仅认证模式为银行卡四要素认证时生效 |
manual | 否 | 布尔值,认证失败后是否允许使用契约锁人工审核通过认证,默认false |
callbackUrl | 否 | 认证结果回调地址 |
authSuccessCb | 是 | 认证成功后的操作,需对接方自行进行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,签署成功后会停留认证成功页面,同时会返回认证成功信息userInfo,前端可获取到用户认证信息 |
authFailCb | 是 | 用户认证过程中,点击页面上的 “退出认证” 按钮后触发的操作,需对接方自行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,用户点击按钮后不会触发任何操作 |
modifyFields | 否 | 认证可修改项 (姓名-USERNAME,身份证-IDCARDNO,银行卡号-BANKNO,银行卡预留手机号-BANKMOBILE) |
<!DOCTYPE html>
<html lang=zh-CN>
<head>
<meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<meta name=apple-mobile-web-app-capable content=yes>
<meta name=apple-mobile-web-app-status-bar-style content=black>
<meta name=baidu-site-verification content=MHGvTSMXM0>
<meta name=author content=契约锁>
<meta name=description content=契约锁-守护我们的契约精神!告别纸质合同,契约锁为您永久保管好您在契约锁上签约的电子合同>
<meta content="telephone=no" name=format-detection>
<title>契约锁电子合同云平台</title>
<link href=/js/index.js rel=preload as=script>
</head><body style="margin: 0"><div id=app></div > <script>
setTimeout(() => {
var instance = new qysSdk('http://192.168.53.135:8080/proxy', {
query: {
a: 1,
token: 'ab1234'
},
});
var promise = instance.personalAuth(
{
mode: 'BANK', // DEFAULT,FACE,BANK
contact: '137******44',
},
{
authSuccessCb: function(userInfo) {
console.log('认证成功 :', userInfo);
return userInfo;
},
authFailCb: function() {
console.log('认证退出');
},
}
);
promise.then(data => {
var element = data;
element.style.border = '1px solid red';
element.style.width = '100%';
element.style.height = '100%';
element.style.position = 'fixed';
document.body.append(element);
});
}, 1000);
</script>
<script src=/js/index.js> </script> </body> </html>
4 个人认证回调说明
参数说明:
参数名称 | 类型 | 描述 |
---|---|---|
mode | String | 认证模式:IVS:手机三要素认证、FACE:人脸认证、BANK:银行卡认证、MANUAL:人工审核 |
mode | String | 1:认证通过,2:认证不通过 |
名称 | 类型 | 描述 |
---|---|---|
code | int | 接收回调消息 响应码 |
code为0表示接收回调消息成功: {"code":0} code不为0表示接收回调消息失败: {"code":1001}
5 企业签署页面接口
var contractId = '2603417854124281870';
var contact = '137******44';
var promise = instance.enterpriseSign(contractId, contact , {
signSuccessCb: function() {
console.log('签署成功');
},
authFailCb: function() {
console.log('认证退出');
},
});
参数名称 | 必须 | 描述 |
---|---|---|
contractId | 是 | 对接方将要将要用于页面签署的合同Id |
contact | 是 | 将要在页面上进行签署的用户联系方式,需要合同节点当前已经达到该用户的签署节点 |
signSuccessCb | 是 | 签署成功后的操作,需对接方自行进行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,签署成功后会停留在合同页面 |
authFailCb | 是 | 用户认证过程中,点击页面上的 “退出认证” 按钮后触发的操作,需对接方自行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,用户点击按钮后不会触发任何操作 |
<!DOCTYPE html>
<html lang=zh-CN>
<head>
<meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<meta name=apple-mobile-web-app-capable content=yes>
<meta name=apple-mobile-web-app-status-bar-style content=black>
<meta name=baidu-site-verification content=MHGvTSMXM0>
<meta name=author content=契约锁>
<meta name=description content=契约锁-守护我们的契约精神!告别纸质合同,契约锁为您永久保管好您在契约锁上签约的电子合同>
<meta content="telephone=no" name=format-detection>
<title>契约锁电子合同云平台</title>
<link href=/js/index.js rel=preload as=script>
</head><body style="margin: 0"><div id=app></div > <script>
setTimeout(() => {
var instance = new qysSdk('http://192.168.53.135:8080/proxy', {
query: {
a: 1,
token: 'ab1234'
},
});
var promise = instance.enterpriseSign('2603417854124281870', '137******44', {
signSuccessCb: function () {
console.log('签署成功');
},
authFailCb: function () {
console.log('认证退出');
},
});
promise.then(data => {
var element = data;
element.style.border = '1px solid red';
element.style.width = '100%';
element.style.height = '100%';
element.style.position = 'fixed';
document.body.append(element);
});
}, 1000);
</script>
<script src=/js/index.js> </script> </body> </html>
6 企业认证页面接口
调用方式:
var promise = instance.enterpriseAuth(
{
companyName: '自测JSSDK企业认证x',
companyAuthBean: {
applicant: {
name: '胡震坤',
contact: '15164046497',
},
closeButton: true,
},
},
{
authSuccessCb: function(userInfo) {
console.log('认证成功 :', userInfo);
return userInfo;
},
authFailCb: function() {
console.log('认证退出');
},
}
);
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
companyName | String | 是 | 待认证公司名称 |
companyAuthBean | CompanyAuthBean | 是 | 待认证企业相关信息 |
参数名称 | 类型 | 必须 | 描述 |
---|---|---|---|
companyName | String | 否 | 待认证公司名称 |
applicant | UserInfo | 是 | 认证提交人,企业认证通过后,认证提交人会自动成为该企业的系统管理员 |
registerNo | String | 否 | 待认证公司注册号 |
legalPerson | String | 否 | 待认证公司法人姓名 |
callbackUrl | String | 否 | 认证回调地址 |
closeButton | String | 否 | 是否显示关闭按钮,默认为true |
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
name | String | 否 | 申请者姓名 |
contact | String | 是 | 联系方式 |
contactType | String | 是 | 联系方式类型:MOBILE、EMAIL |
<!DOCTYPE html>
<html lang=zh-CN>
<head>
<meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<meta name=apple-mobile-web-app-capable content=yes>
<meta name=apple-mobile-web-app-status-bar-style content=black>
<meta name=baidu-site-verification content=MHGvTSMXM0>
<meta name=author content=契约锁>
<meta name=description content=契约锁-守护我们的契约精神!告别纸质合同,契约锁为您永久保管好您在契约锁上签约的电子合同>
<meta content="telephone=no" name=format-detection>
<title>契约锁电子合同云平台</title>
<link href=/js/index.js rel=preload as=script>
</head><body style="margin: 0"><div id=app></div > <script>
setTimeout(() => {
var instance = new qysSdk('http://192.168.53.135:8080/proxy', {
query: {
a: 1,
token: 'ab1234'
},
});
var promise = instance.enterpriseAuth(
{
companyName: '自测JSSDK企业认证x',
companyAuthBean: {
applicant: {
name: 'AAA',
contact: '151****6497',
},
closeButton: true,
},
},
{
authSuccessCb: function(userInfo) {
console.log('认证成功 :', userInfo);
return userInfo;
},
authFailCb: function() {
console.log('认证退出');
},
}
);
promise.then(data => {
var element = data;
element.style.border = '1px solid red';
element.style.width = '100%';
element.style.height = '100%';
element.style.position = 'fixed';
document.body.append(element);
});
}, 1000);
</script>
<script src=/js/index.js> </script> </body> </html>
7 企业认证回调说明
名称 | 类型 | 描述 |
---|---|---|
status | Integer | 认证结果状态:0(“认证中”)、1(“认证成功”)、2(“认证失败”) |
actionEvent | Integer | 认证行为状态:0(“提交基本信息”)、1(“基本信息审核通过”)、2(“基础信息审核失败”)、4(“授权书审核失败”)、6(“反向打款失败”)、7(“认证成功”)、9(“法人实名认证人工审核失败”) |
requestId | String | 认证请求Id |
authInfo | String | 认证详情内容参考CorpAuthDetail |
名称 | 类型 | 描述 |
---|---|---|
name | String | 认证公司名称 |
registerNo | String | 认证公司工商注册号 |
legalPerson | String | 认证公司法人代表姓名 |
名称 | 类型 | 描述 |
---|---|---|
code | Int | 接收回调消息 响应码 |