微信小程序人脸识别

2,045 阅读1分钟

1.准备工作

由于人脸核验功能涉及到用户的敏感、隐私信息,因此调用此接口的业务方,需要满足一定的条件,申请小程序的人脸识别api。开通小程序后台的接口权限入口后,开发者可以登录mp.weixin.qq.com小程序账号,在设置-接口能力中,开通接口能力。

2.活体检测,是否支持人脸识别

//活体检测,是否支持人脸识别
wx.checkIsSupportFacialRecognition({
  checkAliveType: 2,
  success: function(res) {
    if (res.errCode === 0 || res.errMsg === "checkIsSupportFacialRecognition:ok") {
      //调用人脸识别
      _this.startface(_this.data.custName.replace(/(^\s*)|(\s*)$/g, ""), _this.data.custIdCard);//身份证名称,身份证号码
      return;
    }
    wx.showToast('微信版本过低,暂时无法使用此功能,请升级微信最新版本')
  },
  fail: res => {
    wx.showToast('微信版本过低,暂时无法使用此功能,请升级微信最新版本')
  }

})

3.兼容版本:

读数字:android 微信6.5.4及以上版本, iOS 微信6.5.6及以上版本

屏幕闪烁:android 微信6.7.2及以上版本, iOS 微信6.7.2及以上版本

开放状态:未开放

开放范围:白名单

errCode:0,识别成功。

errMsg:'startFacialRecognitionVerify:ok'

4.示例代码

//人脸识别,请求进行基于生物识别的人脸核身
startface(name, idcard) {
  wx.startFacialRecognitionVerify({ 
    name: _this.data.custName,//身份证名称
    idCardNumber: _this.data.custIdCard,//身份证号码
    success: function(res) {
      var verifyResult = res.verifyResult;//认证结果
       //调用接口
 
    },
    checkAliveType: 2,//屏幕闪烁(人脸核验的交互方式,默认0,读数字)
    fail: err => {
      wx.showToast('请保持光线充足,面部正对手机,且无遮挡')
    }
  })
},

注意:获取人脸识别后的照片接口 api.weixin.qq.com/cityservice…; 以及要获取视频流等接口需在邮件‘使用该接口的场景和用途’这栏描述清楚

参考资料 developers.weixin.qq.com/community/b…