jdFace

来自于:官方

概述

jdFace 封装了金蝶人脸识别sdk,可指定动作,指定动作顺序进行活体检测。

使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:

  • 名称:jdFace
  • 参数:apiKey、apiSecret
  • 配置示例:
 <feature name="jdFace">
   <param name="apiKey" value="" />
   <param name="apiSecret" value="" />
 </feature>
  • 字段描述:

apiKey:(必须配置)金蝶平台API_KEY

apiSecret:(必须配置)金蝶平台API_SECRET

android编译说明

  • 使用升级环境编译
  • 最低版本支持到4.4以上

detectActive

进行交互活体检测

detectActive({params}, callback(ret, err))

params

actions:

  • 类型:JSON数组
  • 描述:活体检测动作以及排序,数组内item必须为取值范围内容
  • 取值范围:0/眨眼、1/张嘴、2/点头、3/摇头
  • 例:‘[0,1,2,3]’

complexity:

  • 类型:数字类型
  • 描述:活体检测困难程度(可选)
  • 取值范围:1/简单、2/正常、3/困难、4/非常困难
  • 默认:2

voice:

  • 类型:布尔类型
  • 描述:声音提示;true/开启声音提示,false/关闭声音提示(可选)
  • 默认:true

immersion:

  • 类型:布尔类型
  • 描述:设置页面沉浸式;true/沉浸式,false/非沉浸式(可选)(仅Android支持)
  • 默认:false

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
   status: true,           //布尔型;是否判断成功
   images:[]               //JSON数组;检测成功后活体验证的图片
  }

err:

  • 类型:JSON 对象
  • 内部字段:
{
   errorCode:0              //数字类型;错误码
   msg:''                   //错误信息
  }

错误码参考 0:未知错误 1:取消 2:缺少权限 3:相机打开错误 4:检测超时 5:授权文件不存在 6:未通过授权验证 7:授权文件过期 8:绑定包名错误 9:活体检测失败 10:动作幅度太大,请保持人脸在屏幕中央 11:面部遮挡 12:网络超时 13:API_KEY错误 14:服务器访问错误 15:参数不合法

示例代码

var jdFace= api.require('jdFace');
jdFace.detectActive(function(ret, err) {
});

可用性

Android系统,IOS系统

可提供的1.0.0及更高版本

detectSilent

进行静默活体检测

detectSilent({params}, callback(ret, err))

params

duration:

  • 类型:数字类型
  • 描述:最短检测时常;建议至少为1s, 0表示无最小时间限制,不得小于0(可选)
  • 单位:秒(s)
  • 默认:3

frames:

  • 类型:数字类型
  • 描述:最少检测贞数;0表示无最小帧数限制,不得小于0(可选)
  • 默认:4

timeOut:

  • 类型:数字类型
  • 描述:设置超时时间;等于0时为不超时,大于0时为设置的值,不得小于0(可选)
    • 单位:秒(s)
  • 默认:10

farRate:

  • 类型:小数类型
  • 描述:人脸高度/宽度占图像短边的比例;参数设置越靠近0,代表人脸距离屏幕越远,如果设置为0,则无过远提示。(可选)
  • 取值范围:[0.0~1.0]
  • 默认:0.4

closeRate:

  • 类型:小数类型
  • 描述:人脸高度/宽度占图像短边的比例;参数设置越靠近1,代表人脸距离屏幕越近,如果设置为0,则无过近提示。(可选)
  • 取值范围:[0.0~1.0]
  • 默认:0.8

immersion:

  • 类型:布尔类型
  • 描述:设置页面沉浸式;true/沉浸式,false/非沉浸式(可选)(仅Android支持)
  • 默认:false

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
   status: true,           //布尔型;是否判断成功
   images:[],               //JSON数组;检测成功后活体验证的图片
   id:'',                        //活体检测加密文件id
   requestId:'',          //网络请求id
   faceRect:{              //检测图片中人脸框位置

        left:                    //人脸左边框坐标
        top:                   //人脸上边框坐标
        right:                    //人脸右边框坐标
        bottom:             //人脸下边框坐标
   }
  }

err:

  • 类型:JSON 对象
  • 内部字段:
{
errorCode:0              //数字类型;错误码
   msg:''                       //错误信息
  }

错误码参考 0:未知错误 1:取消 2:缺少权限 3:相机打开错误 4:检测超时 5:授权文件不存在 6:未通过授权验证 7:授权文件过期 8:绑定包名错误 9:活体检测失败 10:动作幅度太大,请保持人脸在屏幕中央 11:面部遮挡 12:网络超时 13:API_KEY错误 14:服务器访问错误 15:参数不合法

示例代码

var jdFace= api.require('jdFace');
jdFace.detectSilent(function(ret, err) {
});

可用性

Android系统,IOS系统

可提供的1.0.0及更高版本

cancleActive

取消交互活体检测

cancleActive({params}, callback(ret, err))

params

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
   status: true,           //布尔型;是否取消成功
  }

err:

  • 类型:JSON 对象
  • 内部字段:
{
   msg:''                       //错误信息
  }

示例代码

var jdFace= api.require('jdFace');
jdFace.cancleActive(function(ret, err) {
});

可用性

Android系统,IOS系统

可提供的1.0.0及更高版本

cancleSilent

取消静默活体检测

cancleSilent({params}, callback(ret, err))

params

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
   status: true,           //布尔型;是否取消成功
  }

err:

  • 类型:JSON 对象
  • 内部字段:
{
   msg:''                       //错误信息
  }

示例代码

var jdFace= api.require('jdFace');
jdFace.cancleSilent(function(ret, err) {
});

可用性

Android系统,IOS系统

可提供的1.0.0及更高版本