From 6209b691ab54c0bb19617594893294cd451ace91 Mon Sep 17 00:00:00 2001 From: ZLI263 Date: Wed, 8 Oct 2025 08:03:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=B4=E5=83=8F=E8=A7=86=E9=A2=91=E5=90=88?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/face-detect.js | 52 +-- src/api/tts.js | 10 + src/api/video-synthesis.js | 11 +- src/router/index.js | 6 + src/views/video/avatar-synthesis.vue | 474 +++++++++++++++++++++++++++ src/views/video/face-detect.vue | 4 +- src/views/video/video-synthesis.vue | 135 ++++---- 7 files changed, 586 insertions(+), 106 deletions(-) create mode 100644 src/api/tts.js create mode 100644 src/views/video/avatar-synthesis.vue diff --git a/src/api/face-detect.js b/src/api/face-detect.js index e97b382..795b788 100644 --- a/src/api/face-detect.js +++ b/src/api/face-detect.js @@ -1,56 +1,36 @@ import request from '@/utils/request' -/** - * 人脸检测相关API - */ - -/** - * 获取人脸检测列表 - * @param {Object} params 查询参数 - * @returns {Promise} - */ -export function getFaceDetectList(params) { +// 获取头像检测日志列表 +export function getFaceDetectLogs(query) { return request({ url: '/face-detect/logs', method: 'get', - params + params: query }) } -/** - * 检测图片中的人脸信息 - * @param {Object} params 检测参数 - * @returns {Promise} - */ -export function detectFace(params) { - console.log('detectFace API 调用参数:', params) +// 获取头像检测列表(兼容旧接口) +export function getFaceDetectList(query) { + return request({ + url: '/face-detect/list', + method: 'get', + params: query + }) +} + +// 头像检测 +export function detectFace(data) { return request({ url: '/face-detect/detect', method: 'post', - params + data: data }) } -/** - * 删除人脸检测记录 - * @param {String|Number} id 记录ID - * @returns {Promise} - */ +// 删除头像检测记录 export function deleteFaceDetect(id) { return request({ url: `/face-detect/${id}`, method: 'delete' }) } - -/** - * 获取人脸检测详情 - * @param {String|Number} id 记录ID - * @returns {Promise} - */ -export function getFaceDetectDetail(id) { - return request({ - url: `/face-detect/${id}`, - method: 'get' - }) -} diff --git a/src/api/tts.js b/src/api/tts.js new file mode 100644 index 0000000..922ce46 --- /dev/null +++ b/src/api/tts.js @@ -0,0 +1,10 @@ +import request from '@/utils/request' + +// 获取TTS日志列表 +export function getTtsLogList(query) { + return request({ + url: '/tts/log/list', + method: 'get', + params: query + }) +} diff --git a/src/api/video-synthesis.js b/src/api/video-synthesis.js index 9518480..066e5d6 100644 --- a/src/api/video-synthesis.js +++ b/src/api/video-synthesis.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 获取视频合成列表 export function getVideoSynthesisList(query) { return request({ - url: '/video-synthesis/synthesize', + url: '/video-synthesis/list', method: 'get', params: query }) @@ -26,6 +26,15 @@ export function createVideoSynthesis(data) { }) } +// 头像合成视频 +export function synthesizeVideo(data) { + return request({ + url: '/video-synthesis/synthesize', + method: 'post', + data: data + }) +} + // 查询视频合成状态 export function getVideoSynthesisStatus(taskId) { return request({ diff --git a/src/router/index.js b/src/router/index.js index cecbc63..693d111 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -242,6 +242,12 @@ export const constantRoutes = [ name: 'VideoSynthesis', component: () => import('@/views/video/video-synthesis'), meta: { title: '视频合成', icon: 'el-icon-video-camera-solid' } + }, + { + path: 'avatar-synthesis', + name: 'AvatarSynthesis', + component: () => import('@/views/video/avatar-synthesis'), + meta: { title: '头像合成视频', icon: 'el-icon-user-solid' } } ] }, diff --git a/src/views/video/avatar-synthesis.vue b/src/views/video/avatar-synthesis.vue new file mode 100644 index 0000000..74e2308 --- /dev/null +++ b/src/views/video/avatar-synthesis.vue @@ -0,0 +1,474 @@ + + + + + diff --git a/src/views/video/face-detect.vue b/src/views/video/face-detect.vue index 436ee0d..ed5b920 100644 --- a/src/views/video/face-detect.vue +++ b/src/views/video/face-detect.vue @@ -240,7 +240,7 @@