微信小程序之生物识别

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

生物识别有三个接口

1、wx.checkIsSupportSoterAuthentication 用来获取本机支持的生物识别方式(人脸、指纹、声纹)

2、wx.startSoterAuthentication 进行生物认证

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

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

wxml代码

 bindtap="checkIsFingerPrint">检测是否可以指纹识别
 bindtap="checkIsFacial">检测是否可以人脸识别
 bindtap="HaveFingerPrint">该设备是否录入指纹
 bindtap="FingerPrint">识别指纹

js代码

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分享,转载请注明出处。

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏牛客网

CVTE一面二面

1330
来自专栏从零开始学自动化测试

新手学习selenium路线图(老司机亲手绘制)

前言: 最近群里有不少小白,想入手selenium,但是一直没找到学习路线,还没入门就迷路了,于是小编亲手绘制了一幅学习路线图。希望能帮助小白快速入门,帮助已经...

3876
来自专栏编程

32行代码实现微信聊天机器人

在智能手机无所不能的今天,聊天机器人大家并不陌生。语音、文字的,随口都能说出几个。记得最早火起来的,当属人人网上的小黄鸡了吧,那个@小黄鸡风靡一时的时代,如今...

5335
来自专栏京东技术

小程序开发效率提升神兽:京东Taro诞生记

自 2017-1-9 微信小程序(以下简称小程序)诞生以来,就伴随着赞誉与争议不断。从发布上线时的不被大多数人看好,到如今的逐渐火热,甚至说是如日中天也不为过,...

2182
来自专栏博岩Java大讲堂

Java虚拟机--虚拟机发展史

3555
来自专栏性能与架构

Node.js 6.0 已经支持 93% 的ES6

Node.js 6.0 发布了,带来了性能的大幅提升、更好的测试、更完善的文档、更好的安全性,并广泛支持了ES6 在 Node.js 5.0 发布了6个月以后,...

3605
来自专栏大数据文摘

程序员之痛点:取个好名字

1583
来自专栏小樱的经验随笔

CTF---隐写术入门第一题 SB!SB!SB!

SB!SB!SB!分值:20 来源: 西普学院 难度:中 参与人数:4913人 Get Flag:1541人 答题人数:1577人 解题通过率:98% LSB ...

2977
来自专栏北京马哥教育

Python是什么?点进来

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言...

40811
来自专栏前端小吉米

不再碎片化学习,快速掌握 H5 直播技术

3864

扫码关注云+社区

领取腾讯云代金券