微信小程序 检测设置是否支持人脸识别startSoterAuthentication的大坑

检测设备是否支持人脸识别功能方法

checkIsSupportSoterAuthentication
// 检测是否支持人脸识别功能
wx.checkIsSupportSoterAuthentication({
  success(res) {
    // res.supportMode会返回一个数组,含facial的话有人脸识别功能
    if (res.supportMode.indexOf("facial") !== -1) {
      // 调用人脸识别
      wx.startFacialRecognitionVerify({
        name: that.data.name,//身份证名称
        idCardNumber: that.data.idCode,//身份证号码
        checkAliveType: 2, // 1:默认值,读数字;2:屏幕闪烁
        success: function(resFacial) {
          // console.log(resFacial)
          if (resFacial.errCode == 0) {
            // 人脸识别成功之后调用个人信息保存接口
            that.saveInfo()
          } else {
            Toast(resFacial.errMsg)
          }
        },
        fail: err => {
          Toast('请保持光线充足,面部正对手机,且无遮挡')
        }
      })
    } else {
      Toast('该设备不支持人脸识别功能!')
    }
  },
  fail(res) {
    Toast(res.errMsg)
  }
})

success的回调   res.supportMode   里面含有   facial  才是支持人脸识别功能,否则不知道,但是我测的时候都是只有 fingerPrint 指纹识别。后来经过一番查找后才发现 SOTER  需要设备与微信合作他们开通功能后才能使用。正确的实现方式见上个文章。

posted @ 2022-03-30 17:30  圆圆呀~  阅读(762)  评论(0编辑  收藏  举报