From e9ef9bfe411bda655f6231f3213cb09039b9dbb7 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期一, 27 十一月 2023 09:22:21 +0800
Subject: [PATCH] 更新识别逻辑 定时
---
src/views/home/index.vue | 28 +++++++++----
imgs/1701042873813.png | 0
src/stores/StoresConfing.ts | 2
src/views/login/index.vue | 10 ++++-
package.json | 2
imgs/1701000759385.png | 0
src/samples/faceApi.ts | 2
imgs/1701001208978.png | 0
src/samples/deviceApi/XK3190A12.ts | 8 +++-
src/main.ts | 2 +
src/utils/formatTime.ts | 11 +++++
11 files changed, 49 insertions(+), 16 deletions(-)
diff --git a/imgs/1701000759385.png b/imgs/1701000759385.png
new file mode 100644
index 0000000..24ab33c
--- /dev/null
+++ b/imgs/1701000759385.png
Binary files differ
diff --git a/imgs/1701001208978.png b/imgs/1701001208978.png
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/imgs/1701001208978.png
diff --git a/imgs/1701042873813.png b/imgs/1701042873813.png
new file mode 100644
index 0000000..d843111
--- /dev/null
+++ b/imgs/1701042873813.png
Binary files differ
diff --git a/package.json b/package.json
index 7625ca5..5133013 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "sign-tool",
- "version": "2.7.2",
+ "version": "2.7.3",
"icon": "public/favicon.ico",
"main": "dist/electron/main/index.js",
"author": "",
diff --git a/src/main.ts b/src/main.ts
index dba4d47..d0b02a8 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -4,6 +4,8 @@
import router from './router/index'
import "tracking";
import "tracking/build/data/face";
+import "tracking/build/data/eye";
+import "tracking/build/data/mouth";
import { ElMessage } from 'element-plus';
import { createPinia } from 'pinia'
import App from './App.vue'
diff --git a/src/samples/deviceApi/XK3190A12.ts b/src/samples/deviceApi/XK3190A12.ts
index 6c90111..9bd9318 100644
--- a/src/samples/deviceApi/XK3190A12.ts
+++ b/src/samples/deviceApi/XK3190A12.ts
@@ -7,7 +7,8 @@
import { confingInfoStore } from '@/stores/StoresConfing'
const initPort=(path:String,baudRate:Number)=>{
-
+ // 是否清零了
+ let sfqingling=true
// 配置文件定义的对此次数
const yanjiancishu=confingInfoStore().confingInfo.jianyancishu===undefined?4:confingInfoStore().confingInfo.jianyancishu
console.log('初始化打开XK3190-A12体重秤端口',yanjiancishu)
@@ -54,7 +55,9 @@
duibinum=0
}
// 对比4次结果都一致
- if(duibinum>=yanjiancishu){
+ if(duibinum>=yanjiancishu&&sfqingling){
+ // 数据发送 体重没有清零 下次就不播报不发送
+ sfqingling=false
const res=Number(list)
console.log(res,'获取到的体重')
sockteStore().setweightSockte(
@@ -75,6 +78,7 @@
}else{
+ sfqingling=true
console.log('小于20')
}
}) // all data after READY is received
diff --git a/src/samples/faceApi.ts b/src/samples/faceApi.ts
index 0495a30..2bcb14a 100644
--- a/src/samples/faceApi.ts
+++ b/src/samples/faceApi.ts
@@ -100,7 +100,7 @@
if(err){
console.log(err);
}else{
- console.log('写入成功!',path);
+ console.log('写入成功!验证阿里',path);
// getOssUrl(path)
// 验证图片
faceShibie(path)
diff --git a/src/stores/StoresConfing.ts b/src/stores/StoresConfing.ts
index 067258a..e5d8f31 100644
--- a/src/stores/StoresConfing.ts
+++ b/src/stores/StoresConfing.ts
@@ -22,7 +22,7 @@
// 志荣的[zhiRongT605];台衡的M523[taiHengM523] //[s]eca101]读文件夹// 耀华XK3190-A12
tzc_type:"seca101",
tzcPortPath:"COM34",
- tzcBaudRate:9600,// zhiRongT605波特率1200;台衡523波特率9600, 耀华XK3190-A12 9600
+ tzcBaudRate:9600,// zhiRongT605波特率1200;台衡523波特率9600, 耀华XK3190-A12 9600 耀华XK3190-A11E 1200
seca101Path:"D:/seca101/data/",//该参数只对体重秤 赛康101 文件获取目录,
jianyancishu:4,// 该参数只对耀华XK3190-A12体重秤有效 检验体重秤多次数据相等就传送
diff --git a/src/utils/formatTime.ts b/src/utils/formatTime.ts
index 51d0b7c..e2ab96e 100644
--- a/src/utils/formatTime.ts
+++ b/src/utils/formatTime.ts
@@ -1,3 +1,5 @@
+import { Data } from "electron/main"
+
/**
* 时间日期转换
* @param date 当前时间,new Date() 格式
@@ -211,3 +213,12 @@
const y=Math.abs(parseInt(date1[11]) - parseInt(date2[12]))
return m+'年'+y+'月'
}
+export function jgTime(data1:Data,data2:Data):number{
+ // 获取两个日期的毫秒数
+ var milliseconds1 = data1.getTime();
+ var milliseconds2 = data2.getTime();
+ // 计算两个日期的差值(毫秒数差)
+ var differenceInMilliseconds = milliseconds2 - milliseconds1;
+ var differenceInSeconds = Math.floor(differenceInMilliseconds / 1000);
+ return differenceInSeconds
+}
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index e293f87..d35609a 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -216,7 +216,7 @@
import Speech from 'speak-tts'
import { reactive,computed, toRefs, onMounted, watch, ref } from "vue"
import { sendPationCodeApi } from '../../samples/httpApi'
-import { formatDate } from '@/utils/formatTime'
+import { formatDate,jgTime } from '@/utils/formatTime'
import { confingInfoStore } from '@/stores/StoresConfing'
import {base64toFile} from '@/samples/faceApi'
import{initPort} from '@/samples/portApi'
@@ -229,12 +229,14 @@
import{toDataTz,todatatzs } from '@/samples/deviceApi/seca101'
import { ElLoading, ElMessage } from 'element-plus'
import { el } from 'element-plus/es/locale'
+import { Console } from 'console'
let trackerTask: any = null;
+let lsDateTime:any=new Date()
// 标识用的画布
const myCanvas = ref<HTMLCanvasElement | null>(null);
let imgSrc:'';
const msg = ref<string>("没识别到人脸...");
-// 实例人脸检查器
+// 实例人脸检查器 ObjectTracker
const myTracker: any = new tracking.ObjectTracker("face");
myTracker.setInitialScale(4);
myTracker.setStepSize(2);
@@ -246,18 +248,25 @@
context.clearRect(0, 0, myCanvas.value.width, myCanvas.value.height);
}
if (event.data.length === 0) {
+ // console.log('没有监测到---')
msg.value = "没识别到人脸...";
- } else if(event.data.length === 1) {
+ } else if(event.data.length >= 1){
trackerTask.stop();
msg.value = "检测到人脸";
+ console.log('监测到人脸2样')
+ console.log(event.data)
const myCanvas = document.getElementById("myCanvas");//
const thisContext = myCanvas?.getContext("2d");
const myVideo = document.querySelector("#myVideo") as HTMLVideoElement;
thisContext.drawImage(myVideo, 0,0, 250, 200);
imgSrc = myCanvas?.toDataURL('image/png');
+ const X= jgTime(lsDateTime,new Date())
+
// 转文件
// 识别框显示才能到传阿里云识别
- if(dialogVisible.value){
+ if(dialogVisible.value&&X>configData.value.face_push){
+ lsDateTime=new Date()
+ console.log(X,'上传阿里识别间隔')
base64toFile(imgSrc)
}
setTimeout(() => {
@@ -528,11 +537,11 @@
}else if(Number(patientInfo.value.pureWeight) !== 0&&patientInfo.value.isAfterMed===1 && patientInfo.value.preWeight>10){
aimTSL.value = (Number(patientInfo.value.preWeight)- Number(patientInfo.value.pureWeight) - Number(patientInfo.value.clothesWeight)).toFixed(2)
}
- }else if(patientInfo.value.code===''&&weightInfo.value.result !== "0"){
- speech.value?.speak({ text: "没有识别的患者,请先验证患者" }).then(() => {
- // console.log("播报完成...")
- })
- }
+ }else if(patientInfo.value.code===''&&weightInfo.value.result !== "0"){
+ speech.value?.speak({ text: "没有识别的患者,请先验证患者" }).then(() => {
+ // console.log("播报完成...")
+ })
+ }
}
);
// 血压发送了变化
@@ -697,6 +706,7 @@
console.log(0%5)
console.log('页面初始化', os.hostname())
setTimeout(()=>{
+
console.log('8秒后执行')
console.log('打印设置文件')
console.log(configData.value)
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 025c168..1c24d2a 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -1,7 +1,7 @@
<script setup lang="ts">
import { computed, onMounted, ref } from "vue";
import {base64toFile} from '@/samples/faceApi'
-import { formatDate } from "@/utils/formatTime";
+import { formatDate ,jgTime} from "@/utils/formatTime";
import { confingInfoStore } from "@/stores/StoresConfing";
const msg = ref<string>("没识别到人脸...");
@@ -13,6 +13,7 @@
// 标识用的画布
const myCanvas = ref<HTMLCanvasElement | null>(null);
let imgSrc:'';
+let chuansongTime;
// 实例人脸检查器
const myTracker: any = new tracking.ObjectTracker("face");
myTracker.setInitialScale(4);
@@ -37,6 +38,8 @@
// 转文件
// 识别框显示才能到传阿里云识别
if(dialogVisible.value){
+ // if(new Date())
+ // chuansongTime=new Date()
base64toFile(imgSrc)
}
setTimeout(() => {
@@ -55,7 +58,10 @@
// 触发人脸检查器
console.log('人脸识别初始化')
const isUseFaceRecogService = confingInfoStore().confingInfo.isUseFaceRecogService
- console.log('人脸识别',isUseFaceRecogService)
+ // console.log('人脸识别',isUseFaceRecogService)
+
+ let jg= jgTime(new Date(),new Date())
+ console.log(jg)
setInterval(function () {
date.value= formatDate(new Date(),'YYYY-mm-dd HH:MM')
}, 1000)
--
Gitblit v1.8.0