From 934654b44fb2670a7ce08aafa3d1d85fe783ae26 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期三, 13 八月 2025 16:35:32 +0800
Subject: [PATCH] 封面必传问题
---
manager/src/views/video/VideoList.vue | 89 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 84 insertions(+), 5 deletions(-)
diff --git a/manager/src/views/video/VideoList.vue b/manager/src/views/video/VideoList.vue
index 070f4cc..79c7676 100644
--- a/manager/src/views/video/VideoList.vue
+++ b/manager/src/views/video/VideoList.vue
@@ -115,10 +115,25 @@
</FormItem>
</Col>
</Row>
+ <Row>
+ <Col span="24" v-show="uploadVideoForm.videoFileKey && !uploadVideoForm.coverUrl">
+ <FormItem label="涓婁紶灏侀潰" prop="coverUrl" :label-width="80">
+ <Upload
+ :multiple="true"
+ :before-upload="upLoadImagCover"
+ accept="image/*"
+ action=""
+ >
+ <Button icon="ios-cloud-upload-outline">閫夋嫨灏侀潰</Button>
+ </Upload>
+ </FormItem>
+ </Col>
+ </Row>
<Row :gutter="24">
<Col span="12" v-if="uploadVideoForm.videoFileKey">
<FormItem :labelWidth="80">
- <Button @click="reloadVideo" type="primary">閲嶆柊涓婁紶瑙嗛</Button>
+ <Button @click="reloadVideo" type="primary" >閲嶆柊涓婁紶瑙嗛</Button>
+ <Button type="primary" @click="clearCoverImage" v-show="uploadVideoForm.coverUrl" style="margin-left: 20px">閲嶆柊涓婁紶灏侀潰</Button>
</FormItem>
</Col>
</Row>
@@ -474,9 +489,15 @@
import {getFileKey} from "@/utils/file";
import vuedraggable from "vuedraggable";
import vueQr from "vue-qr";
+import uploadImage from "../../components/editor/upload-image.vue";
export default {
name: "VideoList",
+ computed: {
+ uploadImage() {
+ return uploadImage
+ }
+ },
components: {vuedraggable, Editor, GoodsExpandRow, "vue-qr": vueQr},
watch: {
'uploadVideoForm.videoContentType'(newValue, oldValue) {
@@ -532,6 +553,8 @@
videoProgress: 0,
upLoadVideoShow: false,
uploadVideoForm: {
+ coverUrl:null,
+ showCoverUrl:null,
id: '',
title: '',
cover: "",
@@ -768,19 +791,22 @@
}
});
this.uploadVideoForm = row
+ console.log("鎵撳嵃鍊�",this.uploadVideoForm)
this.uploadVideoForm.fileInfo= {};
this.uploadVideoForm.videoImgs = JSON.parse(this.uploadVideoForm.videoImgs)
const sts = await getSts();
if (this.uploadVideoForm.videoContentType === 'video') {
this.uploadVideoForm.showVideoUrl = sts.data.endpoint + '/' + this.uploadVideoForm.videoFileKey
+
if (this.uploadVideoForm.coverUrl !== '' && this.uploadVideoForm.coverUrl != null) {
- this.uploadVideoForm.showCoverUrl = sts.data.endpoint + '/' + this.uploadVideoForm.coverUrl
+ this.uploadVideoForm.showCoverUrl = this.uploadVideoForm.coverUrl
}
} else if (this.uploadVideoForm.videoContentType === 'img') {
this.uploadVideoForm.showListImages = this.uploadVideoForm.videoImgs.map(item => {
return sts.data.endpoint + '/' + item
})
}
+ console.log("澶勭悊杩囧悗",this.uploadVideoForm)
this.searchGoodsList();
},
@@ -833,6 +859,11 @@
this.upLoadVideoShow = false;
},
submitVideoUpload() {
+ console.log(this.uploadVideoForm.coverUrl)
+ if (this.uploadVideoForm.coverUrl === null || this.uploadVideoForm.coverUrl === undefined) {
+ this.$Message.error('鏍囬涓嶈兘涓虹┖');
+ return;
+ }
this.uploadVideoForm.goodsList = this.uploadVideoForm.goodsList.filter(item => {
return item.goodsNum > 0;
})
@@ -891,13 +922,62 @@
this.imgName = name;
this.visible = true;
},
+ async upLoadImagCover(file) {
+ try {
+ // 鑾峰彇鏂囦欢涓婁紶涓存椂瀵嗛挜
+ const sts = await getSts();
+ const cos = new COS({
+ getAuthorization: async function (options, callback) {
+ callback({
+ TmpSecretId: sts.data.tmpSecretId,
+ TmpSecretKey: sts.data.tmpSecretKey,
+ SecurityToken: sts.data.sessionToken,
+ // 寤鸿杩斿洖鏈嶅姟鍣ㄦ椂闂翠綔涓虹鍚嶇殑寮�濮嬫椂闂达紝閬垮厤瀹㈡埛绔湰鍦版椂闂村亸宸繃澶у鑷寸鍚嶉敊璇�
+ StartTime: sts.data.stsStartTime, // 鏃堕棿鎴筹紝鍗曚綅绉掞紝濡傦細1580000000
+ ExpiredTime: sts.data.stsEndTime,// 鏃堕棿鎴筹紝鍗曚綅绉掞紝濡傦細1580000000
+ ScopeLimit: true, // 缁嗙矑搴︽帶鍒舵潈闄愰渶瑕佽涓� true锛屼細闄愬埗瀵嗛挜鍙湪鐩稿悓璇锋眰鏃堕噸澶嶄娇鐢�
+ });
+ }
+ })
+ const fileKey = getFileKey(file.name)
+ const upData = await cos.uploadFile({
+ Bucket: sts.data.bucket,
+ Region: sts.data.region,
+ Key: fileKey,
+ Body: file, // 瑕佷笂浼犵殑鏂囦欢瀵硅薄銆俢over
+ SliceSize: 1024 * 1024 * 5,
+ onProgress: function (progressData) {
+ console.log('涓婁紶杩涘害锛�', progressData);
+ },
+ });
+ this.$set(this.uploadVideoForm, 'coverUrl', fileKey);
+ this.$set(this.uploadVideoForm, 'showCoverUrl', `${sts.data.endpoint}/${fileKey}`);
+ this.uploadVideoForm.cover = fileKey;
+ if (this.$refs.videoInfo) {
+ this.$refs.videoInfo.poster = this.uploadVideoForm.showCoverUrl;
+ this.$refs.videoInfo.load(); // 閲嶆柊鍔犺浇瑙嗛
+ }
+ console.log(this.uploadVideoForm)
+
+ } catch (e) {
+ console.log("涓婁紶澶辫触", upData)
+ } finally {
+
+ }
+ return false;
+ },
+ clearCoverImage(){
+ this.$set(this.uploadVideoForm, 'coverUrl', '');
+ this.$set(this.uploadVideoForm, 'showCoverUrl', '');
+ this.$set(this.uploadVideoForm, 'temp', new Date().getTime());
+ },
+
async upLoadImg(file) {
if (this.uploadVideoForm.videoImgs >= 5) {
this.$Message.error("鍥剧墖涓婁紶涓嶈兘瓒呰繃5涓�");
return;
}
try {
- // this.upLoadVideoLoading = true;
// 鑾峰彇鏂囦欢涓婁紶涓存椂瀵嗛挜
const sts = await getSts();
const cos = new COS({
@@ -934,7 +1014,6 @@
console.log("涓婁紶澶辫触", upData)
return false;
} finally {
- // this.upLoadVideoLoading = false;
}
return false;
@@ -999,7 +1078,7 @@
this.uploadVideoForm.showVideoUrl = sts.data.endpoint + "/" + fileKey;
})
console.log("涓婁紶鎴愬姛", upData)
- const duration = this.$refs.healthVideoInfo.duration;
+ const duration = this.$refs.videoInfo.duration;
console.log('-娴嬭瘯鑾峰彇鏃堕棿淇℃伅---------------->', duration);
} catch (e) {
console.log("涓婁紶澶辫触", upData)
--
Gitblit v1.8.0