智能核身提供UniApp插件,帮助您在App中实现实人认证及场景风险识别等功能。您可通过智能核身的服务端认证初始化接口,获取唯一标识CertifyId,然后使用CertifyId唤起智能核身认证客户端SDK,并对认证结果进行查询。本文介绍了UniApp客户端接入的操作方法。

配置依赖

您可以参考以下步骤接入UniApp插件,或者参见DCloud官网文档接入UniApp插件。

  1. 下载UniApp插件包,解压到项目中的nativePlugins目录下。nativePlugins目录
  2. 导入本地插件。
    1. manifest.json文件下,单击App原生插件配置
    2. App原生插件配置区域,单击选择本地插件导入本地插件
    3. 本地插件选择对话框,选择需要打包生效的插件。
  3. 配置基座包。
    1. 设置自定义调试基座。在manifest.json文件下,选择运行 > 运行到手机或模拟器 > 运行基座选择 > 自定义调试基座(Android)设置自定义调试基座。自定义调试基座
    2. 制作自定义调试基座。在manifest.json文件下,选择运行 > 运行到手机或模拟器 > 自定义调试基座(Android)制作自定义调试基座
  4. 调用智能核身服务。
    1. 获取MetaInfo数据。
      您在调用智能核身服务端发起认证请求时需要传入该值。
    2. 开始认证。调用认证接口(verify函数),传入certifyId进行认证(certifyId通过接口InitSmartVerify获取)。
      名称 类型 描述
      certifyId String 认证的唯一标识。
      ocrMode String 卡证的模式。取值:
      • OcrBank:银行卡模式。
      • OcrIdCard(默认):身份证模式。
      extParams Map<String, String> 用户自定义参数,可以为空。关于自定义的字段,请参见下表所示。
      用户自定义参数extParams支持的字段说明。
      名称 描述 示例值
      kIdentityParamKeyShowResult 是否需要展示OCR识别结果确认页。取值:
      • YES:要展示OCR识别结果确认页。
      • NO:不展示OCR识别结果确认页。
      YES
      kIdentityParamKeyWaterMark 自定义证件图片水印文字。默认文字为仅供业务使用 仅供业务使用
      kIdentityParamKeyIdCardFaceOnly 是否仅识别身份证人像面。取值:
      • YES:仅识别身份证人像面。
      • NO:识别身份证人像面和国徽面。
      NO
      kIdentityParamKeyScanMaxTime OCR证件扫描的超时时间,单位为秒,默认30秒。 30
      kIdentityParamKeyValidIdCardDate 是否校验身份证有效期。取值:
      • YES:校验身份证有效期。
      • NO:不校验身份证有效期。
      说明kIdentityParamKeyIdCardFaceOnly取值为NO时该参数生效。
      YES
      kIdentityParamKeyNextButtonColor OCR识别结果确认页底部按钮的底色。 #FF0000
      kIdentityParamKeyOcrMode OCR模式。取值:
      • PHOTO(默认):拍照模式。
      • SCAN:扫描模式。
      PHOTO
      kIdentityParamKeyOcrSelectPhoto 是否展示从相册选择图片的功能,取值:
      • YES(默认):展示从相册选择照片的功能。
      • NO:不展示从相册选择照片的功能。
      YES

代码示例

  • 获取MetaInfo数据:
    <script>
        //加载智能核身插件。
      const verifyPlugin = uni.requireNativePlugin('IdentityPlatformUniPlugin');
      export default {
        onLoad() {
          //调用getMetaInfo获取MetaInfo数据。
          var metaInfo = verifyPlugin.getMetaInfo();
          console.log(metaInfo);
        }
      }
    </script>
  • 卡证核身服务代码示例:
    verifyPlugin.idCardVerify({
            "certifyId":"xxx"    //填写从服务端获取的certifyId。
          }, function(response){
    
          });
    //response返回格式。
    {
                        code:1000,    //错误码。
                        message:认证通过,    //错误码描述。
                        deviceToken:xxx,    //设备token(如果需要则获取本字段)。
                        faceImage:xxx,     //本地返回的人脸照片(如果需要则获取本字段)。
                        ocrInfo:xxx      //OCR识别结果信息(如果需要则获取本字段)。
                    }

错误码说明

错误码 错误码文案
1000 认证通过。
1001 认证失败。
1002 系统异常。
1003 SDK初始化失败。
1004 摄像头错误。
1005 网络错误。
1006 用户取消。
1007 CertifyId无效。
1009 客户端时间戳错误。