From 83c3fd352439e8f8c5858aaa8190e6ea33e2722d Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期一, 13 五月 2024 16:41:38 +0800
Subject: [PATCH] tianjia

---
 src/samples/faceApi.ts |   73 +++++++++++++++++++++++++++++++++---
 1 files changed, 66 insertions(+), 7 deletions(-)

diff --git a/src/samples/faceApi.ts b/src/samples/faceApi.ts
index d7a8d3e..aa513e6 100644
--- a/src/samples/faceApi.ts
+++ b/src/samples/faceApi.ts
@@ -44,6 +44,7 @@
  * @param path 图片路径
  */
 const  faceShibie= async(path:any)=>{
+  console.log('文件路径',path)
   const fileStream = fs.createReadStream(path);
   let client=createClient()
   // 通过本地文件
@@ -86,22 +87,70 @@
     delImg(path)
   })
 }
+// 验证---逻辑
+const yanzhengimg=async(path:any)=>{
+  console.log('文件路径--逻辑',path)
+  const fileStream = fs.createReadStream(path);
+  let client=createClient()
+  // 通过本地文件
+  const facedata= confingInfoStore().confingInfo.face_database
+  const faceScore=confingInfoStore().confingInfo.face_score
+  let searchFaceAdvanceRequest = new $facebody20191230.SearchFaceAdvanceRequest();
+  searchFaceAdvanceRequest.imageUrlObject = fileStream;
+  searchFaceAdvanceRequest.dbName = facedata
+  searchFaceAdvanceRequest.limit = 2;
+  let runtime = new $Util.RuntimeOptions({ });
+  client.searchFaceAdvance(searchFaceAdvanceRequest, runtime).then(re=>{
+    if(re.statusCode===200){
+      const matchList=re.body.data?.matchList
+      // console.log('得到的人脸库')
+      console.log(matchList)
+      if(matchList?.length>0){
+        const faceItems =matchList[0].faceItems
+        if(faceItems?.length===0){
+          console.log('没有找到患者对应的人脸')
+          return false
+        }
+        if(faceItems[0].score>=faceScore){
+          const entityId=faceItems[0].entityId
+          console.log(entityId,'得到了人脸识别id,存患者code到vuex')
+          sockteStore().setfaceSockte({
+            deviceType: "人脸识别",
+            deviceName: "人脸识别",
+            result: entityId,
+            resultTime: ''
+          })
+        }else{
+          console.log('没有找到患者对应的人脸')
+        }
+      }
+
+    }
+  }).finally(()=>{
+    // console.log('---------------都要执行的')
+     // 删除图片
+    // delImg(path)
+  })
+}
 const faceApiCheck=async(path:any)=>{
   fs.readFile(path, (err, data) => {
     if (err) throw err;
       let blobFile = new File([data], 'name.png', {type:"image/png"})
       console.log(blobFile)
       const formData = new FormData() // 下面有备注
-      formData.append('File1', blobFile)
+      formData.append('file', blobFile)
       checkUploadFile(formData).then(re=>{
-        console.log('-----')
+          console.log('-----',re)
+      }).finally(()=>{
+          // 删除图片
+          delImg(path)
       })
   })
   
 
 
-}
-// base64z转文件后验证
+  }
+  // base64z转文件后验证
 const base64toFile = (dataurl:any,filename='file') =>  {
   if (!fs.existsSync('./imgs')) {
     fs.mkdir('./imgs', (err) => {
@@ -118,12 +167,20 @@
      if (err) {
        console.log(err);
      } else {
-     
       //  console.log('写入成功!验证阿里', path);
        // getOssUrl(path)
        // 验证图片
-       faceShibie(path)
-      //  faceApiCheck(path)
+       // 是否本地识别
+       const isLanFace= confingInfoStore().confingInfo.isLanFace
+       if(isLanFace){
+        //本地识别
+        faceApiCheck(path)
+       }else{
+        //阿里验证外网
+        faceShibie(path)
+       }
+       
+       
      }
    })
 }
@@ -137,7 +194,9 @@
     }
   })
 }
+
 export {
+  yanzhengimg,
   createClient,
   faceShibie,
   base64toFile

--
Gitblit v1.8.0