外跳e签宝小程序方式集成签署/认证页

更新时间:2024-08-05 14:46:56

场景说明

在开发者的微信小程序中跳转到e签宝上链公证签小程序内加载签署/认证授权页,用户完成相关操作后再跳回开发者的小程序,可参考本流程。

【提示】该对接方式是直接跳转到e签宝上链公证签小程序做的签署/认证授权,无需与H5页面通信,无需放行业务域名,对接流程相对简单。(签署有e签宝登录页,暂不支持免登)

后端开发如何传参数?

1.后端发起签署字段说明

重定向地址 redirectUrl 需要传入固定值:wechat://back

重定向跳转逻辑:

重定向地址传入(wechat://back), => 签署/认证授权完成会自动回到贵司小程序

重定向地址不传 => 签署/认证授权完成到结果页 => 左上角手动返回到贵司小程序

2.记录与传递参数

签署场景:

后端接口发起签署后拿到签署流程ID:signFlowId ,以及指定的签署人/经办人账号ID:psnId 传给微信小程序端。

【注】开发者如用 psnAccount (手机号或邮箱)发起的签署,可以调用查询接口:【查询签署流程详情】根据signFlowId 查询用户 psnId

认证授权场景:

后端接口发起认证授权后拿到认证授权流程ID:authFlowId 传给微信小程序端。

微信小程序demo

点击下载:esign-wxmini-demo-v3.zip,请参照DEMO中的场景一进行集成对接。

微信小程序端接入流程

1.唤起“e签宝上链公证签”小程序完成签署/认证授权

关于微信小程序获取后端接口的传参:

  • flowIdaccountId需要按照文档上方描述,后端接口获取。
  • type根据场景选择,签署场景:SIGN,认证授权场景:AUTH
  • env根据当前使用环境选择,沙箱环境为:sml,正式环境为:prod
wx.navigateToMiniProgram({
      appId: 'wx1cf2708c2de46337', // 公证签小程序APPID
      path: '/pages/index/index', // webview页面地址
      extraData: {
        // 入参
        requestObj: {
          flowId, // 签署:signFlowId,认证授权:authFlowId
          accountId, // 个人账号ID(即:psnId ,仅签署需要)
          type, // 业务类型:签署 SIGN(默认), 认证授权 AUTH
          env, // 环境,沙箱环境为:sml,正式环境为:prod
          group, // 项目环境分组标识
        },
        // 回传数据:签署/授权认证完成后会将此数据完整回传
        callbackObj: {
          from:'esign',
          flag:'某个开发者自定义的唯一标识,如业务编号'
        },
      },
      envVersion: env === 'test' ? 'trial' : 'release', // 仅针对开发或体验版有效,线上无效
      success(res) {
        // 根据客户自身需要
      },
      fail(res) {
        // 根据客户自身需要
      },
      complete(res) {
        // 根据客户自身需要
      },
    })

2.用户操作完成后“e签宝上链公证签”小程序会使用以下方式跳回贵司自己的小程序

wx.navigateBackMiniProgram({
  extraData: {
    isSuccess: true, // 签署/认证授权是否成功,true/false
    msg: 'success',// message,成功 success,失败 fail
    callbackObj: { // 回传之前传入的数据(自定义)  
      from:'esign',
      flag:'某个开发者自定义的唯一标识,如业务编号'
  }
}
})

接收到的数据示例:

贵司小程序在 onShow 方法中可接收到上链公证签小程序返回的 extraData 数据,从而完成后续业务逻辑。

注意:默认操作完成后跳回贵司自己的小程序的页面为跳转“上链公证签”小程序前的贵司的初始页面,如果想要签署/认证授权完成跳到贵司小程序指定页面可以用以下方式:

1)可以在跳转前设置自定义数据callbackObj,用于后续判断跳回小程序的来源。

(2)跳回小程序时,会触发onShow方法,在该方法中做逻辑判断,确定来源后,进行跳转到指定页面。


onShow方法代码示例:

onShow: function (options) {
    console.log(options,'options');
    let result = '';
    let flag = '';
    // 接收 公证签小程序 返回的数据
    if( typeof options.referrerInfo.extraData != 'undefined' ){
       result = options.referrerInfo.extraData.isSuccess;
      if(options.referrerInfo.extraData.callbackObj != undefined 
        && options.referrerInfo.extraData.callbackObj.from !='undefined' 
        && options.referrerInfo.extraData.callbackObj.from == 'esign'){
        flag = options.referrerInfo.extraData.callbackObj.flag;
        console.log(result,'result')
        //如果需要进行跳转的话,可以在这边处理,跳转到开发者自己的小程序某个页面
         wx.redirectTo({
            url: '/pages/redirect/bizpage?flag=' + flag + '&result=' + result
          })          
      }
    }
  }

微信小程序刷脸方式内部流转流程图

<此图中的客户小程序即为贵司小程序>

用户刷脸图片


我要纠错