• 功能① 人脸识别


    人脸识别申请流程

    微信人脸核身接口能力

    1 能力背景

    • 调用人脸核身的小程序 其主体以及类目需要在限定的类目范围内,且与小程序的业务背景一致。

    应用:光大银行的人脸识别 -> 金融-银行

    2 准备接入

    1. 申请邮件发送 参考"微信人脸核身接口能力"
    2. 开通权限后,在"开发-接口设置"中,添加可用类目开通接口

    3 接口文档

    wx.startFacialRecognitionVerify(OBJECT)
    • 功能:请求进行基于生物识别的人脸核身
    • 验证方式:在线验证--读数字 屏幕闪烁
    /**
     * return 值
     * errMsg: String 错误信息
     * errCode:Number 错误码
     * verifyResult: String 本次认证结果凭证
    */
    wx.startFacialRecognitionVerify({
        name: String, // 必填
        idCardNumber: String, // 必填
        success: Function,
        fail: Function,
        complete: Function, // 必填
        // 0-读数字 1- 反光 2-检查是否支持反光
        checkAliveType: Number
    })
    

    4 应用

    export function startFacialRecognitionVerify(data,callBack) {
      let mune = {
        10001: '参数错误',
        10002: '人脸特征检测失败',
        10003: '身份证号不匹配',
        10004: '比对人脸信息不匹配',
        10005: '环境光线太亮',
        10006: 'appid没有权限(后台验证部分)',
        10007: '后台获取图片失败',
        10008: '比对系统失败',
        10009: '未查到身份证照片比对源',
        10010: '照片质量不满足比对要求',
        10015: '比对服务暂时不可用',
        10016: '存储用户图片失败',
        10017: '非法identify_id',
        10018: '用户信息不存在',
        10020: '认证超时',
        10022: '重复的请求,返回上一次的结果',
        10026: '用户身份证数据不在比对数据库中',
        10027: '语音识别失败',
        10028: '唇动检测失败',
        10031: '公众号/小程序没有设置昵称',
        10040: '请求数据编码不对,必须是UTF8编码',
        10041: '非法user_id_key',
        10042: '请求过于频繁,稍后再重试',
        10045: '系统失败',
        10052: '请求数超限制',
        10057: '请求数超限制',
        10066: '人脸流水号bioid重复',
        10069: '活体检测暂时不可用',
        90100: '用户取消',
        90101: '用户未授权',
        90102: '底层库出错',
        90103: 'CDN上传出错',
        90104: '获取配置信息出错',
        90105: '获取确认页信息失败',
        90106: '相机初始化失败',
        90107: '用户采集人脸超时',
        90108: '用户采集过程中抖动太剧烈',
        90109: '设备不支持人脸采集',
        90199: '未知错误',
      }
      // 检查是否支持反光 -- 支持则使用反光 不支持则调用微信自带判断
      wx.checkIsSupportFacialRecognition({
        checkAliveType: 1,
        success:function(res) {
          if(res.errcode == 0 || res.errMsg == 'checkIsSupportFacialRecognition:ok') {
            let cb = {
              ...data,
              success(){
                callBack("人脸识别成功",true)
              },
              fail(res){
                let msg = res.errMsg
                if(res.errCode) {
                  let tip = mune[res.errCode];
                  msg = `人脸核身失败(${tip}),请稍后重试`
                }
                callBack(msg,false)
              }
            }
            wx.startFacialRecognitionVerifyAndUploadVideo(cb)
            return
          } else {
            data.checkAliveType = 2
            let cb = {
              ...data,
              success(){
                callBack("人脸识别成功",true)
              },
              fail(res){
                let msg = res.errMsg
                if(res.errCode) {
                  let tip = mune[res.errCode];
                  msg = `人脸核身失败(${tip}),请稍后重试`
                }
                callBack(msg,false)
              }
            }
            wx.startFacialRecognitionVerifyAndUploadVideo(cb)
            return
          }
        },
        fail: res => {
          wx.showToast('微信版本过低')
        }
      })
    }
    
  • 相关阅读:
    firefox远程调试
    PHP使用unset销毁变量并释放内存(转)
    去掉超级链接的虚线框
    如何减少 reflow(回流)和 repaint(重绘)
    Chrome远程调试
    3大mobile浏览器远程调试
    IE6下使用滤镜后链接无法点击的BUG
    让IE6区块元素具备display:inlineblock属性
    Call to undefined function curl_init()解决方法(转)
    CSS3 Gradient
  • 原文地址:https://www.cnblogs.com/pleaseAnswer/p/13953863.html
Copyright © 2020-2023  润新知