1. 简要描述

  • 小程序插件
  • 通过人脸识别,完成个人身份的校验;
  • 比对的照片库为公安一所的校验库;
  • 商户号注册:https://plugin.shargoodata.com

2. 页面效果图


3. 调用方式

  1. app.json 中增加声明引入插件
{
  "pages": [],
  "plugins": {
    "shargoodata": {
      "version": "*",// 目前只支持设置 * 拉取当前上架最新版本
      "provider": "2021001169632962" (此ID不能填错,直接复制即可)
    }
  },
  "window": {
    "v8WorkerPlugins": "gcanvas_runtime", // 必填
    "v8Worker": 1 // 必填
  }
}
  1. 小程序页面js文件头部引入插件
let plugin = requirePlugin('shargoodata')
Page({
  xxxx
})

4. 获取 token 的接口(建议服务端获取)

1)服务端获取方法:

文档地址

参数名 类型 默认值 是否必填 说明
platformNo String 商户号
secretKey String 秘钥
expiresIn long token有效期 单位(秒)不能超过30天,最大为2592000
2)小程序前端调用方法(仅供参考):
my.request({
  url: 'https://gauss.shargoodata.com/gauss/authorization/token.json',
  data: {
    platformNo: '',  //  此为[学谷智能]商户号,请到注册邮箱查看; (商户号注册:https://plugin.shargoodata.com/)
    secretKey: ''
  },
  dataType: 'JSON',
  method: 'POST',
  headers: {
    'content-type': 'application/x-www-form-urlencoded'
  },
  success: function(res) {
    console.log(res)
  }
})

接口返回结果实例:

{
    data: "" // 返回的token
    outside_no: null
    success: true
}
  • 调用:人脸核身

    功能:检验真实人脸且判断身份证号码是否一致

/** axml **/
<button onTap="handleClickBtn">身份验证</button>
  /** js **/
  handleClickBtn() {
    plugin.ocrStart({
      token: '', // token
      platformNo: '', //  此为[学谷智能]商户号,请到注册邮箱查看; (商户号注册:https://plugin.shargoodata.com/)
      orderNo: '01000XX', // 订单号(可选),用于向我们查找这一笔调用记录的情况
      type: 'identity',
      extraInfo: {
          idName: '',  // 用户姓名
        idNumber: '' // 用户身份证
      },
      success: res => {
        console.log(res) // 插件的最终返回结果
      }
    })
  }

身份验证返回错误结果实例

{
  success: false,
  type: 'idCard',
  msg: '人像面错误:参数不合法'
}
{
  success: false,
  type: 'idCard',
  msg: '国徽面错误:参数不合法'
}
{
  success: false,
  code: 4,
  type: "face",
  msg: "无效的token",
  faceImg: "https://XXX",
  idCardImg: ["https://XXX", "https://XX"]
}
{
  success: false,
  code: 501,
  type: "face",
  msg: "ERROR:无效的证件号",
  faceImg: "https://XXX",
  idCardImg: ["https://XXX", "https://XX"]
}
{
  success: false,
  code: 405,
  type: "face",
  msg: "照片比对不正确",
  faceImg: "https://XXX",
  idCardImg: ["https://XXX", "https://XX"]
}
{
  success: false,
  code: 404,
  type: "face",
  msg: "验证信息不一致",
  faceImg: "https://XXX",
  idCardImg: ["https://XXX", "https://XX"]
}

身份验证返回正确结果实例

{
  "success": true, "code": "200", "data": "验证信息一致", faceImg: "https://XXX", idCardImg: ["https://XXX", "https://XX"]
}
返回参数说明:
参数名 是否必须 类型 说明
success boolean 是否扣费
data json 文本信息
code string 校验信息

success为true时,data.code取值说明

code码 说明
200 验证通过
405 照片不匹配
404 库中无此号
403 相片质量校验不合格
406 身份证号与姓名不匹配
401 活体验证不通过
400 无效的参数
402 无效的证件
500 输入图片无法处理;通道异常;

success为false时,error_code报错码枚举:

code码 说明
400 image图片不可为空
  • 调用:人脸活体检测

    功能:检验是否为真实人脸
    /** axml **/
    <button onTap="handleClickBtn">人脸识别</button>
  /** js **/
  handleClickBtn() {
    plugin.ocrStart({
      token: '', // token
      platformNo: '', //  此为[学谷智能]商户号,请到注册邮箱查看; (商户号注册:https://plugin.shargoodata.com/)
      orderNo: 'XXX', // 订单号(可选),用于向我们查找这一笔调用记录的情况
      type: 'living',
      success: res => {
        console.log(res) // 插件的最终返回结果
      }
    })
  }

人脸检测返回结果实例

{ "success": true, "data": { "code": "扣费成功" } }
{ "success": false, "error_code":"500", "message":"请求超时" }
  • 调用:身份证 ocr

    功能:检测身份证正反面并识别图中文字
/** axml **/
<button onTap="handleClickBtn">身份证</button>
/** js **/
  handleClickBtn() {
    plugin.ocrStart({
      platformNo: '*****', //  此为[学谷智能]商户号,请到注册邮箱查看; (商户号注册:https://plugin.shargoodata.com/)
      token: '',
      type: 'idCard',
      success: res => {
        console.log(res) // 插件的最终返回结果
      }
    })
  }

返回结果实例

{
  data: [{"title":"姓名","value":"张三"},{"title":"身份证号","value":""},{"title":"性别","value":"男"},{"title":"民族","value":"汉"},{"title":"出生日期","value":""},{"title":"地址","value":""},{"title":"签发机关","value":""},{"title":"有效期限","value":""}]
  imgList: ['https://xxx.png', 'https://xxx.png']
}

5. 查询接口:“人脸核身”处理结果的后端查询

功能:给需要安全性要求高的,希望通过服务端查询人脸核身结果的商户使用;

请求

请求URL:https://gauss.shargoodata.com/gauss/mp/ocr/query

表头:

参数名 类型 默认值 是否必填 说明
token String token

表体:

参数名 类型 默认值 是否必填 说明
platformNo String 商户号
body String 订单号

返回信息

字段 类型 说明
success boolean true代表执行成功,扣费
data object code,msg,image(base64形式,人脸照片)

success为true时,code取值说明

code码 说明
200 验证通过
405 照片不匹配
404 库中无此号
403 相片质量校验不合格
406 身份证号与姓名不匹配
401 活体验证不通过
400 无效的参数
402 无效的证件
500 输入图片无法处理

success为false时,error_code报错码枚举:

code码 说明
509 结果记录未查到

6. 客服咨询:

文档更新时间: 2024-12-12 14:17   作者:admin