From 9313e8f67bc9865c516065cbb778d6b273882155 Mon Sep 17 00:00:00 2001 From: Flex <q1406482700@163.com> Date: 星期三, 23 四月 2025 13:44:43 +0800 Subject: [PATCH] 添加人脸校验 --- easegen-front/src/views/chooseTemplate/index.vue | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 deletions(-) diff --git a/easegen-front/src/views/chooseTemplate/index.vue b/easegen-front/src/views/chooseTemplate/index.vue index 5a3ece2..37c604d 100644 --- a/easegen-front/src/views/chooseTemplate/index.vue +++ b/easegen-front/src/views/chooseTemplate/index.vue @@ -628,7 +628,8 @@ <script lang="ts" setup> import { ref, reactive, onMounted } from 'vue' import draggable from 'vuedraggable' - +//寮曞叆浜鸿劯璇嗗埆鏂规硶 +import { useFaceDetection } from '@/utils/HaveFace' import Vue3DraggableResizable from 'vue3-draggable-resizable' import 'vue3-draggable-resizable/dist/Vue3DraggableResizable.css' import { config } from '@/config/axios/config' @@ -687,6 +688,10 @@ const message = useMessage() const isEditing = ref(false) const inputRef = ref(null) +//褰撳墠鏄惁瀛樺湪浜鸿劯 +const IsHaveFace = ref(false) +//褰撳墠鏄惁瀹屾垚ppt浜鸿劯鏍¢獙 +const IsEndCheckFace = ref(true) // 鍒囨崲鍒扮紪杈戞ā寮� const toggleEdit = () => { isEditing.value = true @@ -1015,6 +1020,18 @@ } return selectPPT.value?.pictureUrl || '' }) +//ppt浜鸿劯鏍¢獙鏂规硶 +const PPtIsHaveFace = async ()=>{ + IsEndCheckFace.value = false + //娣诲姞ppt涓汉鑴告牎楠� + //鍚戝師濮媝pt娣诲姞鏁版嵁锛岀敤浣滃悗缁璸pt涓槸鍚﹀寘鍚汉鑴哥殑鏁版嵁鏍¢獙鍘熷鏁版嵁 + const InitPpt = PPTArr.value.map( (item)=>{ + return item.innerPicture.src + } ) + const { detectFacesInImages } = useFaceDetection() + IsHaveFace.value = await detectFacesInImages(InitPpt) + IsEndCheckFace.value = true +} // 鎵撳紑鏅鸿兘璁茬寮圭獥 const openScriptRewriter = () => { if (!selectPPT.value?.pptRemark && !currentImageUrl.value) { @@ -1180,6 +1197,10 @@ console.log('selectPPT.value', selectPPT.value) showLeftList.value = true clearInterval(schedulePPTTimer.value) + + //ppt浜鸿劯鏍¢獙 + PPtIsHaveFace() + //杞淇濆瓨璇剧▼ /** * 鍚庣鏁版嵁搴撳帇鍔涜繃澶э紝鏆傛椂鍋滄瀹氭椂淇濆瓨 @@ -1463,6 +1484,19 @@ return false } + + + + //浜鸿劯鏍¢獙 + while(!IsEndCheckFace.value){} //涓�涓┖寰幆锛屼富瑕佷负浜嗛伩鍏嶆瀬绔儏鍐典笅褰撶敤鎴风偣鍑讳繚瀛樻寜閽垨鑰呰棰戝悎鎴愭寜閽椂锛屼汉鑴告牎楠屾湭瀹屾垚鐨勯棶棰� + + if( IsHaveFace.value ){ + message.warning('褰撳墠ppt涓瓨鍦ㄤ汉鑴稿厓绱狅紝涓烘柟渚垮悗缁棰戠敓鎴愶紝璇峰幓闄よ鍏冪礌') + return + } + + + //淇濆瓨璇剧▼ let saveSubmitForm = { accountId: courseInfo.value.accountId, @@ -1647,6 +1681,8 @@ for (let i = 0; i < PPTArr.value.length; i++) { const item = PPTArr.value[i] console.log(item) + console.log( "瀹藉害", item.width ) + console.log( "楂樺害", item.height ) // 鏍¢獙鑳屾櫙瀹介珮 if (!item.width || !item.height) { message.warning('鑳屾櫙灏哄鏃犳晥锛岃妫�鏌ュ楂樿缃紝鎴栬�呴噸鏂伴�夋嫨妯℃澘') -- Gitblit v1.9.3