1. 简要描述

  • 插件功能包含人脸活体识别和个人身份信息核验;
  • 人脸身份验证使用的是公安一所的信息库;
  • 插件被小程序集成,因此小程序上架审核会有一定机率被拒绝,建议使用小程序版本;

2. 小程序版本

使用小程序版本,通过跳转方式完成人脸核身,避免审核被卡;

https://doc.shargoodata.com/api/face/edit/

3. 使用前须知

  • 查看本文档前,建议先阅读《小程序插件文档》

    https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/using.html
  • 此插件服务由第三方提供,需要先在官网注册才能启用https://plugin.shargoodata.com

4. 使用插件

  • 调用方式

1)  app.json 中增加声明引入插件
2)  小程序页面js文件头部引入插件
{
  "pages": [],
  "plugins": {
    "shargoodata": {
      "version": "2.6.1",(填写插件最新版本号,可查看更新记录)
      "provider": "wxe83fe5a4f77efb58" (此ID不能填错,直接复制即可)
    }
  }
}
let plugin = requirePlugin('shargoodata')
Page({
  xxxx
})
  • uni-app的调用方式

1) pages.json 中增加声明引入插件
2) 小程序页面vue文件<script></script>引入插件
{
  "pages": [],
  "plugins": {
    /** 插件名称 */
    "shargoodata": {
      "version": "2.6.1", (填写插件最新版本号,可查看更新记录)
      "provider": "wxe83fe5a4f77efb58"  (此ID不能填错,直接复制即可)
    }
  }
}
<script>
 var plugin = requirePlugin('shargoodata')
 export default {

  }
</script>

5. 获取 token

  • 服务端获取方法(建议使用):

请求URL:

接口地址:https://gauss.shargoodata.com/gauss/authorization/token.json
请求方式:POST
数据类型:x-www-form-urlencoded
请求参数:
参数名 是否必须 类型 说明
platformNo string 商户号
secretKey string 密钥
expiresIn long token有效期 单位(秒)不能超过30天,最大为2592000

响应结果:

参数名 类型 说明
success boolean 是否成功获取到token,true:成功,false:失败;
data string token
error_code string 错误代码
message string 描述
参数名 类型 默认值 是否必填 说明
platformNo String 商户号
secretKey String 秘钥
expiresIn long token有效期 单位(秒)不能超过30天,最大为2592000
  • 小程序前端获取方法(仅供参考):

wx.request({
  url: 'https://gauss.shargoodata.com/gauss/authorization/token.json',
  data: {
    platformNo: '*****', // 填写[学谷智能]商户号,如S0001,请到注册邮箱查看;
    secretKey: '*****'
  },
  dataType: 'JSON',
  method: 'POST',
  header: {
    'content-type': 'application/x-www-form-urlencoded'
  },
  success: function(res) {
    console.log(res)
  }
})

接口返回结果实例:

{
    data: "" // 返回的token
    outside_no: null
    success: true
}

6. 选择服务类型

1) 人脸核身

功能:检验人脸真实性且判断身份验证是否一致
(请先订购“人脸核身插件”套餐 )

/** wxml **/
<button bindtap="handleClickBtn">身份验证</button>
/** js **/
  handleClickBtn() {
    plugin.ocrStart({
      token: '', // token
      platformNo: '*****', // 填写[学谷智能]商户号,如S0001,请到注册邮箱查看; 
      orderNo: '01000XX', // 订单号(必填),商户自主生成,不能重复
      urlType: 'tabBar', // 如果是跳转到tabBar页面,需填写此项,普通页面不需要填
      url: '', // 完成插件后跳转到此页面(如果没有新的页面要跳转,不填或者不传即可)
      extraInfo: {
        idName: '小王'
        idNumber: '1000000XXXXX',
        isShowCamera: true // true是默认参数
      },
      success: res => {
        console.log(res) // 插件的最终返回结果
      }
    })
    <!-- 跳转至插件页面 -->
    wx.navigateTo({
      url: 'plugin-private://wxe83fe5a4f77efb58/pages/authorize/index?type=face'
    })
  }

身份验证返回结果实例

success: 请求执行状态,true-执行成功, false-执行失败

{
  "success": true,
  "data": {
      "code": "200",
      "msg": "验证通过"
  }
}
{
  "success": true,
  "data": {
      "code": "406",
      "msg": "身份证号与姓名不匹配"
  }
}
返回参数说明:
参数名 是否必须 类型 说明
success boolean 是否执行成功,true:执行成功,扣费;false:执行不不扣费
data json 文本信息
code string 校验信息
success为true时,data取值说明
code码 说明
200 验证通过
405 照片不匹配
404 库中无此号
403 相片质量校验不合格
406 身份证号与姓名不匹配
401 活体验证不通过
400 无效的参数
402 无效的证件
500 输入图片无法处理;通道异常;
success为false时,error_code报错码枚举:
code码 说明
400 image图片不可为空

2) 人脸活体验证

功能:通过人脸识别判断操作人的真实性
(请先订购“人脸活体插件”套餐)

/** wxml **/
<button bindtap="handleClickBtn">人脸检测</button>
 /** js **/
  handleClickBtn() {
    plugin.ocrStart({
      token: '', // token
      platformNo: '*****', // 填写[学谷智能]提供的商户号,如S0001,请查看注册邮箱; 
      orderNo: 'XXX', // 订单号(必填),由商户生成,不能重复
      urlType: 'tabBar', // 如果是跳转到tabBar页面,需填写此项,普通页面不需要填
      url: '', // 完成插件后跳转到此页面(如果没有新的页面要跳转,不填或者不传即可)
      extraInfo: {
        isShowCamera: true
      },
      success: res => {
        console.log(res) // 插件的最终返回结果
      }
    })
    <!-- 跳转至插件页面 -->
    wx.navigateTo({
      url: 'plugin-private://wxe83fe5a4f77efb58/pages/authorize/index?type=face'
    })
  }

人脸活体检测返回结果实例

{
  "success": true,
  "data": {
    "code": "200",
    "msg": "验证通过"
  }
}
{
  "success": true,
  "data": {
    "code": "401",
    "msg": "活体验证不通过"
  }
}
{
   "success": false,
   "error_code": "400",
   "message": "image图片不可为空"
}

3) 身份证识别

功能:检测身份证正反面并识别图中文字
(请先订购 “身份证ocr插件” 套餐)

/** wxml **/
<button bindtap="handleClickBtn">身份证</button>
/** js **/
  handleClickBtn() {
    plugin.ocrStart({
      token: '', // token
      platformNo: '*****', // 填写[学谷智能]商户号,如S0001,请到注册邮箱查看; 
      orderNo: 'XXX', // 订单号(必填),商户自主生成,不能重复
      urlType: 'tabBar', // 如果是跳转到tabBar页面,需填写此项,普通页面不需要填
      url: '', // 完成插件后跳转到此页面(如果没有新的页面要跳转,不填或者不传即可)
      success: res => {
        console.log(res) // 插件的最终返回结果
      }
    })
    <!-- 跳转至插件页面 -->
    wx.navigateTo({
      url: 'plugin-private://wxe83fe5a4f77efb58/pages/authorize/index?type=idCard'
    })
  }

身份证识别成功返回结果实例

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

身份证识别识别错误返回结果实例

{
  success: false,
  msg: '人像面错误:参数不合法'
}
{
  success: false,
  msg: 国徽面错误:参数不合法'
}

7. 查询接口:服务端查询“人脸核身”的处理结果

除了前端返回处理结果,系统也提供服务端查询接口,便于商户通过服务端获取处理结果和照片;

请求URL:

https://gauss.shargoodata.com/gauss/mp/ocr/query
表头:
参数名 类型 默认值 是否必填 说明
token String token
表体:
参数名 类型 默认值 是否必填 说明
platformNo String 商户号
body String 订单号,之前的orderNo
返回信息
字段 类型 说明
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 结果记录未查到

8. 常规故障处理:

  • 1)Q:页面测试一直提示“拼命加载中”
    A:因开发者工具真机调试缺乏部分api,因此人脸识别暂时不支持 真机调试 ,只能用 真机预览请勿使用小程序开发者工具的 真机调试 功能进行调试,建议直接编译到手机运行,或者在有摄像头的电脑上进行调试

  • 2)插件并不是每次跳转都会跳到用户传入的url去,当且仅当插件中没有出现错误的时候(比如传入的商户号错误,或者token无效),
    正常情况下,插件调用的是wx.redirectTo跳转指定url,如果是tabBar页面,需填写urlType为tabBar

  • 3)当您希望插件结束后跳转至新的小程序页面时,success方法中更改dom的话会导致无效,这是插件跳转小程序的一个bug;
    解决方法为:success回调方法中保存插件传来的值到全局变量中,然后在onload中使用此全局变量修改dom(如果插件没有跳转到新的小程序页面,即url不传的话,此问题将不会存在)

  • 4)Q:提示“你暂时不具备此资质”;
    A:检查一下extraInfo里的isshowcamera这个字段的参数值是true还是false,把这个值改成true可正常使用;

  • 5)Q:上传到体验版或者线上,提示“验证签名失败”;
    A:在小程序公众平台的服务器配置这里,把获取token的网址配置一下;网址为:
    https://gauss.shargoodata.com,然后删除小程序重新进去就可以了;

  • 6)Q:开发工具上可以,为什么发布到体验版就不行了?
    A:在小程序公众平台的服务器配置这里,把获取token的网址配置一下;网址为:https://gauss.shargoodata.com,然后删除小程序重新进去就可以了;

9. 扫码体验:

小程序体验demo

10. 客服咨询:

文档更新时间: 2025-03-22 10:44   作者:admin