uniapp中的生物认证(指纹、人脸识别)

曾经终败给现在 2021-07-25 13:17 2161阅读 0赞

效果图:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70

实现代码:

  1. <template>
  2. <view>
  3. <button @click="checkIsSupportSoterAuthentication">检查支持的认证方式</button>
  4. <button type="primary" @click="checkIsSoterEnrolledInDeviceFingerPrint">检查是否录入指纹</button>
  5. <button @click="checkIsSoterEnrolledInDeviceFaceID">检查是否录入FaceID</button>
  6. <button type="primary" @click="startSoterAuthenticationFingerPrint">开始指纹认证</button>
  7. <button @click="startSoterAuthenticationFaceID">开始FaceID认证</button>
  8. {
  9. { result }}
  10. </view>
  11. </template>
  12. <script>
  13. export default {
  14. data() {
  15. return {
  16. result: ''
  17. };
  18. },
  19. onLoad() {},
  20. methods: {
  21. checkIsSupportSoterAuthentication() {
  22. uni.checkIsSupportSoterAuthentication({
  23. success(res) {
  24. uni.showModal({
  25. content: '支持的认证方式:' + res.supportMode,
  26. showCancel: false
  27. });
  28. console.log(res);
  29. },
  30. fail(err) {
  31. console.log(err);
  32. }
  33. });
  34. },
  35. checkIsSoterEnrolledInDeviceFingerPrint() {
  36. uni.checkIsSoterEnrolledInDevice({
  37. checkAuthMode: 'fingerPrint',
  38. success(res) {
  39. if (res.isEnrolled) {
  40. uni.showToast({
  41. icon: 'none',
  42. title: '已录入指纹'
  43. });
  44. } else {
  45. uni.showModal({
  46. content: '未录入指纹',
  47. showCancel: false
  48. });
  49. }
  50. console.log(res);
  51. },
  52. fail(err) {
  53. uni.showModal({
  54. content: '未录入指纹',
  55. showCancel: false
  56. });
  57. console.log(err);
  58. }
  59. });
  60. },
  61. checkIsSoterEnrolledInDeviceFaceID() {
  62. uni.checkIsSoterEnrolledInDevice({
  63. checkAuthMode: 'facial',
  64. success(res) {
  65. if (res.isEnrolled) {
  66. uni.showToast({
  67. icon: 'none',
  68. title: '已录入FaceID'
  69. });
  70. } else {
  71. uni.showModal({
  72. content: '未录入FaceID',
  73. showCancel: false
  74. });
  75. }
  76. console.log(res);
  77. },
  78. fail(err) {
  79. uni.showModal({
  80. content: '未录入FaceID',
  81. showCancel: false
  82. });
  83. console.log(err);
  84. }
  85. });
  86. },
  87. startSoterAuthenticationFingerPrint() {
  88. uni.startSoterAuthentication({
  89. requestAuthModes: ['fingerPrint'],
  90. challenge: '123456',
  91. authContent: '请用指纹解锁',
  92. success(res) {
  93. uni.showToast({
  94. icon: 'none',
  95. title: '指纹验证成功'
  96. });
  97. console.log(res);
  98. },
  99. fail(err) {
  100. uni.showModal({
  101. content: '指纹验证失败,errCode:' + err.errCode,
  102. showCancel: false
  103. });
  104. console.log(err);
  105. }
  106. });
  107. },
  108. startSoterAuthenticationFaceID() {
  109. uni.startSoterAuthentication({
  110. requestAuthModes: ['facial'],
  111. challenge: '123456',
  112. authContent: '请用FaceID解锁',
  113. success(res) {
  114. uni.showToast({
  115. icon: 'none',
  116. title: 'FaceID验证成功'
  117. });
  118. console.log(res);
  119. },
  120. fail(err) {
  121. uni.showModal({
  122. content: 'FaceID验证失败,errCode:' + err.errCode,
  123. showCancel: false
  124. });
  125. console.log(err);
  126. }
  127. });
  128. }
  129. }
  130. };
  131. </script>
  132. <style></style>

发表评论

表情:
评论列表 (有 0 条评论,2161人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Android 指纹识别

    Android 指纹识别 Android 从 6.0 系统开始就支持指纹认证功能。 将指纹认证功能使用到 APP 的功能逻辑当中是有很多功能场景的,比如说金融银行类 A

    相关 渗透测试 | 指纹识别

    0x00 免责声明 本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责

    相关 android指纹识别

    如果涉及到支付的话,最好使用支付宝或者腾讯的指纹识别方案,他们的安全性较高。用原生的指纹识别,系统被root或者证书别劫持的话,识别结果可能被篡改。 需要注意: 1、取消