检测设备是否支持人脸识别功能方法
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 需要设备与微信合作他们开通功能后才能使用。正确的实现方式见上个文章。