From d92ead2d480779d3226e898c5827271795e21562 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 03 六月 2025 12:55:49 +0800
Subject: [PATCH] 视频发布封面

---
 api/common.js                |   11 +++++++++++
 pages/tabbar/video/video.vue |   25 ++++++++++++++++++++++++-
 2 files changed, 35 insertions(+), 1 deletions(-)

diff --git a/api/common.js b/api/common.js
index ad25f22..023c24b 100644
--- a/api/common.js
+++ b/api/common.js
@@ -36,6 +36,17 @@
 }
 
 /**
+ * 鑾峰彇鏂囦欢璁块棶鍦板潃
+ */
+ export function getFilePreviewUrl(fileKey) {
+  return http.request({
+    url: `${api.common}/lmk/file/preview`,
+    method: Method.POST,
+	data: {fileKey: fileKey}
+  });
+}
+
+/**
  * 鏂囦欢涓婁紶鍦板潃
  * @type {string}
  */
diff --git a/pages/tabbar/video/video.vue b/pages/tabbar/video/video.vue
index edab4fc..103a3ff 100644
--- a/pages/tabbar/video/video.vue
+++ b/pages/tabbar/video/video.vue
@@ -179,7 +179,7 @@
 import USearch from '@/uview-components/uview-ui/components/u-search/u-search.vue';
 import UPopup from '@/uview-components/uview-ui/components/u-popup/u-popup.vue';
 import MyTag from "@/components/my-tag.vue"
-import { getSTSToken } from "@/api/common.js";
+import { getSTSToken, getFilePreviewUrl } from "@/api/common.js";
 import { publish } from "@/api/video.js";
 import { getRecommendTag3 } from "@/api/video-tag.js";
 import { getFileKey } from "@/utils/file.js";
@@ -389,7 +389,30 @@
         sizeType: ['compressed'],
         sourceType: ['album'],
         success: (res) => {
+		  let fileName = res.tempFilePaths[0].substring(res.tempFilePaths[0].lastIndexOf('/') + 1);
+		  // 澶勭悊瀹夊崜鍙兘鐨刄RI缂栫爜
+		  if(fileName.indexOf('%') > -1) {
+				fileName = decodeURIComponent(fileName);
+		  }
+		  const fileKey = getFileKey(fileName);
           this.videoInfo.cover = res.tempFilePaths[0];
+		  this.cosClient.uploadFile({
+		       Bucket: this.bucket,
+		       Region: this.region,
+		       Key: fileKey,
+		       FilePath: res.tempFilePaths[0], 
+		       SliceSize: 1024 * 1024 * 5     /* 瑙﹀彂鍒嗗潡涓婁紶鐨勯槇鍊�,5M */
+		   }, (err, data) => {
+		       if (err) {
+		         console.log('涓婁紶澶辫触', err);
+		       } else {
+		  		 // 鑾峰彇灏侀潰鐨勮闂湴鍧�
+		  		 getFilePreviewUrl(fileKey).then(res => {
+				   this.videoInfo.cover = res.data.data
+				   this.formData.cover = fileKey
+		  		 })
+		       }
+		   });
         }
       });
     },

--
Gitblit v1.8.0