From c10246f262c27facb1eb12e31a21169dc72749e9 Mon Sep 17 00:00:00 2001 From: Flex <q1406482700@163.com> Date: 星期二, 22 四月 2025 09:51:31 +0800 Subject: [PATCH] 修改合成视频失败的bug --- easegen-front/src/views/chooseTemplate/index.vue | 57 ++++++++++++++++++++++++++++++--------------------------- easegen-front/src/utils/HaveFace.ts | 2 ++ 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/easegen-front/src/utils/HaveFace.ts b/easegen-front/src/utils/HaveFace.ts index 067564c..122c6cc 100644 --- a/easegen-front/src/utils/HaveFace.ts +++ b/easegen-front/src/utils/HaveFace.ts @@ -1,5 +1,7 @@ // 寮曞叆face.js import * as faceapi from 'face-api.js'; +import { reject } from 'lodash-es'; +import { resolve } from 'path'; // 鍒涘缓鍒濆鍖栨爣璁帮紝闃叉閲嶅鍒濆鍖� let isModelsLoaded = false; // 绫诲瀷瀹氫箟 diff --git a/easegen-front/src/views/chooseTemplate/index.vue b/easegen-front/src/views/chooseTemplate/index.vue index 3f565f9..7882e58 100644 --- a/easegen-front/src/views/chooseTemplate/index.vue +++ b/easegen-front/src/views/chooseTemplate/index.vue @@ -956,6 +956,7 @@ const showLeftList = ref(true) const selectPPT = ref({ + id:"", pictureUrl: '', innerPicture: { //瀹氫箟鐢讳腑鐢诲璞★紝灞炴�т笌鏁板瓧浜虹浉鍚� @@ -1187,7 +1188,6 @@ console.log('PPTArr.value', PPTArr.value) PPTArr.value[0].isActive = true selectPPT.value = PPTArr.value[0] - console.log('selectPPT.value', selectPPT.value) showLeftList.value = true clearInterval(schedulePPTTimer.value) //杞淇濆瓨璇剧▼ @@ -1380,12 +1380,25 @@ accountId: userId.value } pptTemplateApi.coursesCreate(params).then((res) => { - console.log(res) if (res) { courseInfo.value.id = res } }) } + + +//ppt浜鸿劯鏍¢獙 +const PPtIsHaveFace = async ()=>{ + //娣诲姞ppt涓汉鑴告牎楠� + //鍚戝師濮媝pt娣诲姞鏁版嵁锛岀敤浣滃悗缁璸pt涓槸鍚﹀寘鍚汉鑴哥殑鏁版嵁鏍¢獙鍘熷鏁版嵁 + const InitPpt = PPTArr.value.map( (item)=>{ + return item.innerPicture.src + } ) + const { detectFacesInImages } = useFaceDetection() + const IsHaveFace = await detectFacesInImages(InitPpt) + return IsHaveFace +} + //鑾峰彇淇濆瓨鏃堕棿 const saveTime = ref() @@ -1433,7 +1446,6 @@ //浼犲叆 save 鍒欎唬琛ㄤ繚瀛橈紝绌哄瓧绗︿紶鍒欐槸鍚堟垚瑙嗛 const saveSubmit = async (type) => { - if( type.length === 0 ){ //姝ゆ椂涓鸿棰戝悎鎴� MakeLoading.value = true @@ -1446,21 +1458,6 @@ // 妫�鏌ュ満鏅槸鍚︿负绌� if (!PPTArr.value || PPTArr.value.length === 0) { message.warning('鍦烘櫙涓虹┖锛岃鍏堜笂浼燩PT锛�') - //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 - MakeLoading.value = false - SaveLoading.value = false - return false - } - - //娣诲姞ppt涓汉鑴告牎楠� - //鍚戝師濮媝pt娣诲姞鏁版嵁锛岀敤浣滃悗缁璸pt涓槸鍚﹀寘鍚汉鑴哥殑鏁版嵁鏍¢獙鍘熷鏁版嵁 - const InitPpt = PPTArr.value.map( (item)=>{ - return item.innerPicture.src - } ) - const { detectFacesInImages } = useFaceDetection() - const IsHaveFace = await detectFacesInImages(InitPpt) - if( IsHaveFace ){ - message.warning('褰撳墠ppt涓寘鍚汉鑴稿厓绱�, 涓烘柟渚垮悗缁棰戠敓鎴� ,璇峰幓闄よ鍏冪礌') //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 MakeLoading.value = false SaveLoading.value = false @@ -1520,7 +1517,6 @@ matting: 1, marker: 1 } - let pageNum = 1 if (PPTArr.value && PPTArr.value.length > 0) { console.log('寮�濮嬪鐞哖PTArr鏁版嵁') @@ -1536,7 +1532,6 @@ const innerPictureCom = item.innerPicture console.log('innerPictureCom:', JSON.stringify(innerPictureCom)) - console.log(item.pptRemark) item.pptRemark = removeHtmlTags(item.pptRemark) // item.pptRemark = editorRef.value.getText() // item.pptRemark=item.pptRemark.replace(/<[^>]+>/g, '') @@ -1613,8 +1608,6 @@ } }) } - console.log('pageInfo:', JSON.stringify(pageInfo)) - console.log('thumbnail:', thumbnail) try { saveSubmitForm.pageInfo = JSON.stringify(pageInfo) @@ -1627,8 +1620,18 @@ SaveLoading.value = false console.error('淇濆瓨琛ㄥ崟鏁版嵁鏃跺嚭閿�:', error) } - if (type == 'save') { + //鍙嶆鎬庝箞璧伴兘浼氳蛋save杩欎竴姝ワ紝閭e氨鍙湪杩欎竴姝ヨ繘琛屼竴娆′汉鑴告牎楠岋紝濡傛灉鍚庣画鍚堟垚瑙嗛鎸夐挳涓嶅啀璧颁繚瀛橈紝璇峰皢杩欎竴姝ヤ篃涓�骞惰繘琛屾洿鏀� + //涓昏鍥犱负wangEditor杩囦簬鏁忔劅 + const isHaveFace = await PPtIsHaveFace() + if( isHaveFace ){ + message.warning('褰撳墠ppt涓寘鍚汉鑴稿厓绱�, 涓烘柟渚垮悗缁棰戠敓鎴� ,璇峰幓闄よ鍏冪礌') + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false + return false + } + try { const res = await pptTemplateApi.coursesSave(stringifySafely(saveSubmitForm)) if (res) { @@ -1647,6 +1650,7 @@ SaveLoading.value = false return false } + } else { // 鍚堟垚瑙嗛鍓嶅厛淇濆瓨 try { @@ -1658,12 +1662,10 @@ SaveLoading.value = false return } - // 鏍¢獙鍦烘櫙鏁版嵁 let warningStrArr: any = [] for (let i = 0; i < PPTArr.value.length; i++) { const item = PPTArr.value[i] - console.log(item) // 鏍¢獙鑳屾櫙瀹介珮 if (!item.width || !item.height) { message.warning('鑳屾櫙灏哄鏃犳晥锛岃妫�鏌ュ楂樿缃紝鎴栬�呴噸鏂伴�夋嫨妯℃澘') @@ -1690,7 +1692,6 @@ } } } - if (warningStrArr.length > 0) { warningDialog.value.open(warningStrArr.map((warning) => `<div>${warning}</div>`).join('')) //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 @@ -1698,7 +1699,6 @@ SaveLoading.value = false return } - // 鍚堟垚瑙嗛 try { const res = await pptTemplateApi.megerMedia(saveSubmitForm) @@ -1723,7 +1723,9 @@ message.error('鎿嶄綔澶辫触锛岃閲嶈瘯') } } + } + function stringifySafely(obj) { const seen = new WeakSet() return JSON.stringify(obj, (key, value) => { @@ -1769,6 +1771,7 @@ } } } + //瀵屾枃鏈紪杈戝櫒 -start // 缂栬緫鍣ㄥ疄渚嬶紝蹇呴』鐢� shallowRef const editorRef = shallowRef() -- Gitblit v1.9.3