Skip to content

e签宝实现电子签名

一般的合同相关的都需要签名,但有些时候合作的人可能相隔几百公里,这时候纸质合同的签名就比较麻烦了,e签宝就可以实现电子签名,电子签名同样有法律效力的,而e 签宝会通过数字证书、时间戳等技术手段,将签署人信息、签署时间、原文内容等关键信息进行加密固化,防止任何一方篡改。

需要在 e 签宝官网注册一个开发者账号,并完成企业认证。

在 e 签宝开放平台创建一个应用,获取之后调用 API 所需的 App Key 和 Secret Key。

1.在小程序后台配置e签宝的域名,否则无法在小程序中加载 e 签宝的 h5 页面

2.使用 <web-view> 加载后端返回的 e 签宝 h5 签署页面链接。传递签署链接时,需要使用 encodeURIComponent 对 URL 进行编码,防止链接被截断。可以在 <web-view> 上绑定 @message 事件,来监听 5 页面返回的消息,来判断用户是否完成了签署。

3.如果签署过程中需要人脸识别,e 签宝的 h5 页面会跳转到“e签宝上链公证签”小程序进行刷脸认证,认证完成后会自动跳回小程序。

4.用户完成签署后,e 签宝会向后端配置的回调地址发送通知,你的后端服务接收到通知后,可以更新贷款合同的状态。

vue
<template>
  <view>
    <web-view :src="esignUrl"></web-view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      esignUrl: ''
    };
  },
  onLoad(options) {
    // 从后端获取经过 encodeURIComponent 编码的 e 签宝签署链接
    this.getEsignUrl();
  },
  methods: {
    getEsignUrl() {
      uni.request({
        url: 'https://your-backend-api/get-esign-url',
        method: 'GET',
        success: (res) => {
          this.esignUrl = decodeURIComponent(res.data.url);
        }
      });
    }
  }
};
</script>
<template>
  <view>
    <web-view :src="esignUrl"></web-view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      esignUrl: ''
    };
  },
  onLoad(options) {
    // 从后端获取经过 encodeURIComponent 编码的 e 签宝签署链接
    this.getEsignUrl();
  },
  methods: {
    getEsignUrl() {
      uni.request({
        url: 'https://your-backend-api/get-esign-url',
        method: 'GET',
        success: (res) => {
          this.esignUrl = decodeURIComponent(res.data.url);
        }
      });
    }
  }
};
</script>

程序员小洛文档