From 9f8395fab13ca4b230a0f7d62636e209745c91d4 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期日, 28 九月 2025 14:16:18 +0800
Subject: [PATCH] feat: 完善注册流程的文件上传功能

---
 web/src/api/media.js |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/web/src/api/media.js b/web/src/api/media.js
index 2ca732a..1934b37 100644
--- a/web/src/api/media.js
+++ b/web/src/api/media.js
@@ -110,4 +110,45 @@
   }
   
   return result;
+};
+
+// 涓婁紶瑙嗛鏂囦欢骞惰嚜鍔ㄧ敓鎴愮缉鐣ュ浘
+export const uploadVideoWithThumbnail = async (videoFile) => {
+  const { extractVideoFrame, generateThumbnailFileName } = await import('@/utils/video.js');
+  
+  try {
+    console.log('寮�濮嬪鐞嗚棰戞枃浠�:', videoFile.name);
+    
+    // 1. 涓婁紶鍘熻棰戞枃浠�
+    console.log('涓婁紶瑙嗛鏂囦欢...');
+    const videoUploadResult = await uploadFile(videoFile);
+    console.log('瑙嗛涓婁紶鎴愬姛:', videoUploadResult);
+    
+    // 2. 鎻愬彇瑙嗛绗竴甯�
+    console.log('鎻愬彇瑙嗛绗竴甯�...');
+    const thumbnailBlob = await extractVideoFrame(videoFile);
+    console.log('瑙嗛甯ф彁鍙栨垚鍔燂紝澶у皬:', thumbnailBlob.size);
+    
+    // 3. 鍒涘缓缂╃暐鍥炬枃浠跺璞�
+    const thumbnailFileName = generateThumbnailFileName(videoFile.name);
+    const thumbnailFile = new File([thumbnailBlob], thumbnailFileName, {
+      type: 'image/jpeg'
+    });
+    
+    // 4. 涓婁紶缂╃暐鍥�
+    console.log('涓婁紶缂╃暐鍥�...');
+    const thumbnailUploadResult = await uploadFile(thumbnailFile);
+    console.log('缂╃暐鍥句笂浼犳垚鍔�:', thumbnailUploadResult);
+    
+    // 5. 杩斿洖鍖呭惈瑙嗛鍜岀缉鐣ュ浘淇℃伅鐨勭粨鏋�
+    return {
+      video: videoUploadResult,
+      thumbnail: thumbnailUploadResult,
+      success: true
+    };
+    
+  } catch (error) {
+    console.error('瑙嗛澶勭悊澶辫触:', error);
+    throw new Error(`瑙嗛澶勭悊澶辫触: ${error.message}`);
+  }
 };
\ No newline at end of file

--
Gitblit v1.8.0