前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序之生物识别

微信小程序之生物识别

原创
作者头像
极乐君
发布2018-01-29 16:13:46
3.5K0
发布2018-01-29 16:13:46
举报
文章被收录于专栏:极乐技术社区

今天闲来没事,了解下生物识别。

生物识别有三个接口

代码语言:javascript
复制
1、wx.checkIsSupportSoterAuthentication 用来获取本机支持的生物识别方式(人脸、指纹、声纹)

2、wx.startSoterAuthentication 进行生物认证

3、wx.checkIsSoterEnrolledInDevice 检测是否录入生物信息

有兴趣的童鞋可以拿代码去玩玩试试看

wxml代码

代码语言:javascript
复制
 bindtap="checkIsFingerPrint">检测是否可以指纹识别
 bindtap="checkIsFacial">检测是否可以人脸识别
 bindtap="HaveFingerPrint">该设备是否录入指纹
 bindtap="FingerPrint">识别指纹

js代码

代码语言:javascript
复制
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isfingerPrint : false,    //可否使用指纹识别  默认false
    isfacial: false,          //可否使用人脸识别  默认false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this
    //查看支持的生物认证   比如ios的指纹识别   安卓部分机器是不能用指纹识别的
    wx.checkIsSupportSoterAuthentication({
      success(res) {
        for (var i in res.supportMode){
          if (res.supportMode[i] == 'fingerPrint'){
            console.log("支持指纹识别", res.supportMode[i]);
            that.setData({
              isfingerPrint : true
            })
          } else if (res.supportMode[i] == 'facial'){
            console.log("支持人脸识别", res.supportMode[i]);
          }
        }
      }
    })
  },
  //是否可以指纹识别
  checkIsFingerPrint:function(){
    var boole = this.data.isfingerPrint
    var txt = "不可以使用指纹识别"
    if (boole) {
      txt = "可以使用指纹识别"
    }
    show("提示",txt,false);
  },
  //是否可以人脸识别
  checkIsFacial: function () {
    var boole = this.data.isfacial
    var txt = "不可以使用人脸识别"
    if (boole){
      txt = "可以使用人脸识别"
    }
    function SUCC() {
      console.log("用户点击确定")
    }

    function FAIL() {
      console.log("用户点击取消")
    }

    show("提示", txt, true,SUCC,FAIL);
  },

  //进行指纹识别
  FingerPrint: function(){
    wx.startSoterAuthentication({
      requestAuthModes: ['fingerPrint'],
      challenge: '123456',
      authContent: '请用指纹',
      success(res) {
        console.log("识别成功",res)
        show("提示", "识别成功", false);
      },
      fail(res){
        console.log("识别失败",res)
        show("提示", "识别失败", false);
      }
    })


  },
  //是否有指纹
  HaveFingerPrint:function(){
    wx.checkIsSoterEnrolledInDevice({
      checkAuthMode: 'fingerPrint',
      success(res) {
        if (res.isEnrolled == 1){
          show("提示", "有指纹", false);
        } else if (res.isEnrolled == 0){
          show("提示", "无指纹", false);
        }
      },
      fail(res){
        show("提示", "异常", fail);
      }
    })
  }
})


/**
 * 显示提示信息
 * tit 提示的标题
 * msg 提示的内容
 * q   是否有取消按钮(布尔值)
 * succ 用户点击确定的回调(非必须)
 * fail 用户点击取消的回调(非必须)
 *
 */
function show(tit,msg,q,succ,fail){
  wx.showModal({
    title: tit,
    content: msg,
    showCancel:q,
    success: function (res) {
      if (res.confirm) {
        if (succ){
          succ();
        }
      } else if (res.cancel) {
        if (fail) {
          fail();
        }
      }
    }
  })
}

tip:

1、如有遇到新问题,可以在下方留言或者加QQ群437729329 进行咨询。 2、版权说明:该文章为小程序社区(www.wxapp-union.com/)版主TEl分享,转载请注明出处。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档