浏览代码

添加指纹识别

wkw 2 周之前
父节点
当前提交
cd5e02b49d
共有 4 个文件被更改,包括 44 次插入38 次删除
  1. 13 29
      src/components/Biometrics/biometrics.js
  2. 2 2
      src/router/system.js
  3. 16 3
      src/views/message/index.vue
  4. 13 4
      src/views/wallet/transferDetail/index.vue

+ 13 - 29
src/components/Biometrics/biometrics.js

@@ -1,38 +1,22 @@
 import { BiometricAuth, AndroidBiometryStrength } from '@aparajita/capacitor-biometric-auth';
 
-export  const  verifyFingerprint = async()=> {
+export const verifyFingerprint = async () => {
   try {
-    // const available = await BiometricAuth.isAvailable();
-    // console.log('生物识别是否可用:', available);
-
-    // if (!available) {
-    //   alert('设备不支持或未设置生物识别');
-    //   return;
-    // }
-
-    // const result = await BiometricAuth.authenticate({
-    //   reason: '请进行生物识别验证',
-    // });
-
-    // if (result.success) {
-    //   alert('验证成功');
-    //   // 执行支付等后续逻辑
-    // } else {
-    //   alert('验证失败或取消');
-    // }
-
     await BiometricAuth.authenticate({
-      reason: '请进行身份验证', // 验证提示
-      cancelTitle: 'Cancel', // 取消按钮
-      allowDeviceCredential: true, // 是否允许使用设备密码
-      iosFallbackTitle: '使用密码',//  iOS  fallback
-      androidTitle: '生物识别登录', // Android title
+      reason: '请进行身份验证',
+      cancelTitle: '取消',
+      allowDeviceCredential: true,
+      iosFallbackTitle: '使用密码',
+      androidTitle: '生物识别登录',
       androidSubtitle: '使用生物识别认证登录',
       androidConfirmationRequired: false,
-      androidBiometryStrength: AndroidBiometryStrength.weak, // Android biometry strength
-    })
+      androidBiometryStrength: AndroidBiometryStrength.weak,
+    });
+    return true;
   } catch (error) {
     console.error('生物识别异常', error);
-    alert('验证出错:' + error);
+    return false;
   }
-}
+};
+
+

+ 2 - 2
src/router/system.js

@@ -10,8 +10,8 @@ export const systemRoutes = [
       {
         path: "im",
         name: "im",
-        meta: { title: "router.Social", keepAlive: true, navbar: true, tabbar:true }, // 社交
-        component: () => import("@/views/home/index.vue"),
+        meta: { title: "router.Social", keepAlive: true, navbar: false, tabbar:true }, // 社交
+        component: () => import("@/views/message/index.vue"),
       },
       {
         path: "transaction",

+ 16 - 3
src/views/home/index.vue → src/views/message/index.vue

@@ -1,7 +1,9 @@
 <template>
-  <div>
-    
-      123333
+  <div class="container">
+    <div class="head-bg"/>
+    <div class="message-header">
+
+    </div>
   </div>
 </template>
 
@@ -43,5 +45,16 @@ onMounted(()=>{
 </script>
 
 <style lang="less" scoped>
+.container{
+  height: calc(100vh - 60px);
+  display: flex;
+  flex-direction: column;
+  .head-bg {
+    .fn-head-bg()
+  }
+  .message-header{
+    
+  }
+}
 
 </style>

+ 13 - 4
src/views/wallet/transferDetail/index.vue

@@ -102,13 +102,13 @@
 </template>
 
 <script setup>
-// import { verifyFingerprint } from "@/components/Biometrics/biometrics.js"
+import { verifyFingerprint } from "@/components/Biometrics/biometrics.js"
 import { cryptoDecode } from "@/utils/crypto.js"
 import { useRouter,useRoute } from 'vue-router'
 import { useWalletStore } from "@/stores/modules/walletStore";
 import Web3 from "web3";
 import pubData from "@/utils/pub.json";
-import { showToast } from 'vant';
+import { showLoadingToast,showToast } from 'vant';
 import { showNotify } from 'vant';
 const router = useRouter();
 const route = useRoute();
@@ -196,8 +196,13 @@ const changeList = (item) => {
 // 确认
 const confirm = async () => {
     showWallet.value = false;
-    // verifyFingerprint();
-    showPassWord.value = true;
+    const verified = await verifyFingerprint();
+    console.log(verified)
+    if (verified) {
+        getData();
+    } else {
+        showPassWord.value = true;
+    }
 };
 // 密码取消
 const cancel = () => {
@@ -215,6 +220,10 @@ const popConfirm = () => {
 // 请求链
 const getData = async () => {
   isDisabledConfirm.value = true;
+  showLoadingToast({
+    message: '转账中...',
+    forbidClick: true,
+    });
   try {
     let receipt;
     if (selecctList.name === 'ACC') {