修改bug
This commit is contained in:
parent
531a44daa1
commit
fd2af58c8e
|
@ -2,7 +2,7 @@
|
|||
<div class="login">
|
||||
<div class="topTitleWrap">
|
||||
<div class="topTitle1">国家新材料测试评价平台</div>
|
||||
<div class="topTitle2">先进无极非金属材料行业中心</div>
|
||||
<div class="topTitle2">先进无机非金属材料行业中心</div>
|
||||
</div>
|
||||
<div class="login-form">
|
||||
<img class="logo" src="../../assets/logo.png" />
|
||||
|
|
|
@ -8,7 +8,14 @@
|
|||
<el-card style="margin-top: 10px">
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="videoList.results.filter(data => !search || data.name.toLowerCase().includes(search.toLowerCase())|| data.category_name.toLowerCase().includes(search.toLowerCase()))"
|
||||
:data="
|
||||
videoList.results.filter(
|
||||
(data) =>
|
||||
!search ||
|
||||
data.name.toLowerCase().includes(search.toLowerCase()) ||
|
||||
data.category_name.toLowerCase().includes(search.toLowerCase())
|
||||
)
|
||||
"
|
||||
border
|
||||
fit
|
||||
stripe
|
||||
|
@ -35,7 +42,6 @@
|
|||
<template slot-scope="scope">{{ scope.row.coverurl }}</template>
|
||||
</el-table-column>
|
||||
|
||||
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="操作"
|
||||
|
@ -46,7 +52,8 @@
|
|||
<el-input
|
||||
v-model="search"
|
||||
size="mini"
|
||||
placeholder="输入关键字搜索"/>
|
||||
placeholder="输入关键字搜索"
|
||||
/>
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
|
@ -77,7 +84,6 @@
|
|||
<el-dialog
|
||||
:visible.sync="dialogVisible"
|
||||
:title="dialogType === 'edit' ? '编辑视频信息' : '新增视频信息'"
|
||||
|
||||
>
|
||||
<el-form
|
||||
ref="Forms"
|
||||
|
@ -102,53 +108,91 @@
|
|||
></el-cascader>
|
||||
</el-form-item>
|
||||
<form ref="vcExample">
|
||||
<input type="file" style="display:none;" ref="vcExampleVideo" @change="setVcExampleVideoName()" />
|
||||
<input type="file" style="display:none;" ref="vcExampleCover" @change="setVcExampleCoverName()" />
|
||||
<input
|
||||
type="file"
|
||||
style="display: none"
|
||||
ref="vcExampleVideo"
|
||||
@change="setVcExampleVideoName()"
|
||||
/>
|
||||
<input
|
||||
type="file"
|
||||
style="display: none"
|
||||
ref="vcExampleCover"
|
||||
@change="setVcExampleCoverName()"
|
||||
/>
|
||||
</form>
|
||||
<div class="row" style="padding:10px;">
|
||||
|
||||
<el-button type="primary" @click="vcExampleAddVideo">{{vcExampleVideoName || '添加视频'}}</el-button>
|
||||
<el-button type="primary" @click="vcExampleAddCover">{{vcExampleCoverName || '添加封面'}}</el-button>
|
||||
<el-button type="success" @click="vcExampleAddUpload">上传视频和封面</el-button>
|
||||
<div class="row" style="padding: 10px">
|
||||
<el-button type="primary" @click="vcExampleAddVideo">{{
|
||||
vcExampleVideoName || "添加视频"
|
||||
}}</el-button>
|
||||
<el-button type="primary" @click="vcExampleAddCover">{{
|
||||
vcExampleCoverName || "添加封面"
|
||||
}}</el-button>
|
||||
<el-button type="success" @click="vcExampleAddUpload"
|
||||
>上传视频和封面</el-button
|
||||
>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row" id="resultBox">
|
||||
<!-- 上传信息组件 -->
|
||||
<div class="uploaderMsgBox" v-for="uploaderInfo in uploaderInfos">
|
||||
|
||||
<div v-if="uploaderInfo.videoInfo">
|
||||
视频名称:{{uploaderInfo.videoInfo.name + '.' + uploaderInfo.videoInfo.type}};
|
||||
上传进度:
|
||||
<el-progress :text-inside="true" :stroke-width="24" :percentage="Math.floor(uploaderInfo.progress * 100)" status="success">
|
||||
视频名称:{{
|
||||
uploaderInfo.videoInfo.name + "." + uploaderInfo.videoInfo.type
|
||||
}}; 上传进度:
|
||||
<el-progress
|
||||
:text-inside="true"
|
||||
:stroke-width="24"
|
||||
:percentage="Math.floor(uploaderInfo.progress * 100)"
|
||||
status="success"
|
||||
>
|
||||
</el-progress>
|
||||
上传结果:{{uploaderInfo.isVideoUploadCancel ? '已取消' : uploaderInfo.isVideoUploadSuccess ? '上传成功' : '上传中'}};
|
||||
<br>
|
||||
上传结果:{{
|
||||
uploaderInfo.isVideoUploadCancel
|
||||
? "已取消"
|
||||
: uploaderInfo.isVideoUploadSuccess
|
||||
? "上传成功"
|
||||
: "上传中"
|
||||
}};
|
||||
<br />
|
||||
地址:{{ uploaderInfo.videoUrl }};
|
||||
<a href="javascript:void(0);" class="cancel-upload" v-if="!uploaderInfo.isVideoUploadSuccess && !uploaderInfo.isVideoUploadCancel" @click="uploaderInfo.cancel()">取消上传</a><br>
|
||||
<a
|
||||
href="javascript:void(0);"
|
||||
class="cancel-upload"
|
||||
v-if="
|
||||
!uploaderInfo.isVideoUploadSuccess &&
|
||||
!uploaderInfo.isVideoUploadCancel
|
||||
"
|
||||
@click="uploaderInfo.cancel()"
|
||||
>取消上传</a
|
||||
><br />
|
||||
</div>
|
||||
|
||||
|
||||
<div v-if="uploaderInfo.coverInfo">
|
||||
封面名称:{{uploaderInfo.coverInfo.name}};
|
||||
上传进度:
|
||||
<el-progress :text-inside="true" :stroke-width="24" :percentage="Math.floor(uploaderInfo.coverProgress * 100)" status="success">
|
||||
封面名称:{{ uploaderInfo.coverInfo.name }}; 上传进度:
|
||||
<el-progress
|
||||
:text-inside="true"
|
||||
:stroke-width="24"
|
||||
:percentage="Math.floor(uploaderInfo.coverProgress * 100)"
|
||||
status="success"
|
||||
>
|
||||
</el-progress>
|
||||
上传结果:{{uploaderInfo.isCoverUploadSuccess ? '上传成功' : '上传中'}};
|
||||
<br>
|
||||
上传结果:{{
|
||||
uploaderInfo.isCoverUploadSuccess ? "上传成功" : "上传中"
|
||||
}};
|
||||
<br />
|
||||
地址:{{ uploaderInfo.coverUrl }};
|
||||
<br>
|
||||
|
||||
<video :src="uploaderInfo.videoUrl" style="width:400px;height:300px" id="video" autoplay></video>
|
||||
<br />
|
||||
|
||||
<video
|
||||
:src="uploaderInfo.videoUrl"
|
||||
style="width: 400px; height: 300px"
|
||||
id="video"
|
||||
autoplay
|
||||
></video>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</el-form>
|
||||
<div style="text-align: right">
|
||||
<el-button type="danger" @click="dialogVisible = false">取消</el-button>
|
||||
|
@ -156,36 +200,36 @@
|
|||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script src="https://cdn-go.cn/cdn/vod-js-sdk-v6/latest/vod-js-sdk-v6.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
import { updatevideo,getsignature,createVideo,getVideoList,deletevideo} from "@/api/video";
|
||||
import {
|
||||
updatevideo,
|
||||
getsignature,
|
||||
createVideo,
|
||||
getVideoList,
|
||||
deletevideo,
|
||||
} from "@/api/video";
|
||||
|
||||
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
|
||||
import { getDictList, getDictTypeList } from "@/api/dict";
|
||||
import TcVod from "vod-js-sdk-v6";
|
||||
|
||||
import checkPermission from '@/utils/permission'
|
||||
import checkPermission from "@/utils/permission";
|
||||
|
||||
import { genTree } from "@/utils";
|
||||
const defaultVideo = {
|
||||
name: "",
|
||||
description: "",
|
||||
category: "",
|
||||
mediaurl:'',
|
||||
}
|
||||
|
||||
mediaurl: "",
|
||||
};
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
|
||||
|
||||
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
|
@ -195,34 +239,32 @@ export default {
|
|||
count: 0,
|
||||
},
|
||||
typeOptions: [],
|
||||
dialogType:'',
|
||||
dialogType: "",
|
||||
listQuery: {
|
||||
page: 1,
|
||||
page_size: 20,
|
||||
},
|
||||
search: '',
|
||||
search: "",
|
||||
VideoContent: defaultVideo,
|
||||
uploaderInfos: [],
|
||||
vcExampleVideoName: '',
|
||||
vcExampleVideoName: "",
|
||||
listLoading: false,
|
||||
vcExampleCoverName: '',
|
||||
vcExampleCoverName: "",
|
||||
rule1: {
|
||||
name: [{ required: true, message: "请输入名称", trigger: "blur" }],
|
||||
category: [{ required: true, message: "请选择视频分类", trigger: 'change' }],
|
||||
category: [
|
||||
{ required: true, message: "请选择视频分类", trigger: "change" },
|
||||
],
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {},
|
||||
|
||||
created() {
|
||||
|
||||
this.getList();
|
||||
this.getTypeAll();
|
||||
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
checkPermission,
|
||||
//列表加载
|
||||
getList() {
|
||||
|
@ -289,13 +331,13 @@ checkPermission,
|
|||
vcExample添加视频
|
||||
*/
|
||||
vcExampleAddVideo: function () {
|
||||
this.$refs.vcExampleVideo.click()
|
||||
this.$refs.vcExampleVideo.click();
|
||||
},
|
||||
/*
|
||||
vcExample添加封面
|
||||
*/
|
||||
vcExampleAddCover: function () {
|
||||
this.$refs.vcExampleCover.click()
|
||||
this.$refs.vcExampleCover.click();
|
||||
},
|
||||
/*
|
||||
vcExample上传过程
|
||||
|
@ -308,31 +350,28 @@ checkPermission,
|
|||
|
||||
// 获取签名 (这里必须定义为函数,tcVod才可识别)
|
||||
const getSignature = async function () {
|
||||
const { data } = await getsignature()
|
||||
return data
|
||||
}
|
||||
const { data } = await getsignature();
|
||||
return data;
|
||||
};
|
||||
// 前文中所述的获取上传签名的函数
|
||||
const tcVod = new TcVod({ getSignature })
|
||||
const tcVod = new TcVod({ getSignature });
|
||||
var uploader = tcVod.upload({
|
||||
mediaFile: mediaFile,
|
||||
coverFile: coverFile,
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
|
||||
uploader.on('media_progress', function(info) {
|
||||
uploader.on("media_progress", function (info) {
|
||||
uploaderInfo.progress = info.percent;
|
||||
})
|
||||
uploader.on('media_upload', function(info) {
|
||||
});
|
||||
uploader.on("media_upload", function (info) {
|
||||
uploaderInfo.isVideoUploadSuccess = true;
|
||||
})
|
||||
uploader.on('cover_progress', function(info) {
|
||||
});
|
||||
uploader.on("cover_progress", function (info) {
|
||||
uploaderInfo.coverProgress = info.percent;
|
||||
})
|
||||
uploader.on('cover_upload', function(info) {
|
||||
});
|
||||
uploader.on("cover_upload", function (info) {
|
||||
uploaderInfo.isCoverUploadSuccess = true;
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
var uploaderInfo = {
|
||||
videoInfo: uploader.videoInfo,
|
||||
|
@ -342,35 +381,30 @@ checkPermission,
|
|||
isCoverUploadSuccess: false,
|
||||
progress: 0,
|
||||
coverProgress: 0,
|
||||
fileId: '',
|
||||
videoUrl: '',
|
||||
coverUrl: '',
|
||||
fileId: "",
|
||||
videoUrl: "",
|
||||
coverUrl: "",
|
||||
cancel: function () {
|
||||
uploaderInfo.isVideoUploadCancel = true;
|
||||
uploader.cancel()
|
||||
uploader.cancel();
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
this.uploaderInfos.push(uploaderInfo)
|
||||
this.uploaderInfos.push(uploaderInfo);
|
||||
// console.log('uploaderInfos',this.uploaderInfos);
|
||||
|
||||
uploader.done().then(function (doneResult) {
|
||||
console.log('doneResult', doneResult)
|
||||
|
||||
|
||||
|
||||
|
||||
console.log("doneResult", doneResult);
|
||||
|
||||
uploaderInfo.fileId = doneResult.fileId;
|
||||
|
||||
uploaderInfo.coverUrl = doneResult.cover.url;
|
||||
uploaderInfo.videoUrl = doneResult.video.url;
|
||||
|
||||
|
||||
self.$refs.vcExample.reset();
|
||||
self.vcExampleVideoName = ''
|
||||
self.vcExampleCoverName = ''
|
||||
})
|
||||
self.vcExampleVideoName = "";
|
||||
self.vcExampleCoverName = "";
|
||||
});
|
||||
},
|
||||
|
||||
async confirm(form) {
|
||||
|
@ -379,12 +413,10 @@ async confirm(form) {
|
|||
const isEdit = this.dialogType === "edit";
|
||||
if (isEdit) {
|
||||
for (var i = 0; i < this.uploaderInfos.length; i++) {
|
||||
|
||||
this.VideoContent.fileid = this.uploaderInfos[i].fileId;
|
||||
|
||||
this.VideoContent.coverurl = this.uploaderInfos[i].coverUrl;
|
||||
this.VideoContent.mediaurl = this.uploaderInfos[i].videoUrl;
|
||||
|
||||
}
|
||||
// console.log(this.VideoContent)
|
||||
updatevideo(this.VideoContent.id, this.VideoContent).then((res) => {
|
||||
|
@ -395,14 +427,11 @@ async confirm(form) {
|
|||
}
|
||||
});
|
||||
} else {
|
||||
|
||||
for (var i = 0; i < this.uploaderInfos.length; i++) {
|
||||
|
||||
this.VideoContent.fileid = this.uploaderInfos[i].fileId;
|
||||
|
||||
this.VideoContent.coverurl = this.uploaderInfos[i].coverUrl;
|
||||
this.VideoContent.mediaurl = this.uploaderInfos[i].videoUrl;
|
||||
|
||||
}
|
||||
createVideo(this.VideoContent).then((res) => {
|
||||
if (res.code >= 200) {
|
||||
|
@ -419,8 +448,6 @@ async confirm(form) {
|
|||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
@ -443,7 +470,6 @@ async confirm(form) {
|
|||
}
|
||||
|
||||
.uploaderMsgBox {
|
||||
|
||||
border-bottom: 1px solid #888;
|
||||
background: #1a7ce0;
|
||||
color: white;
|
||||
|
|
Binary file not shown.
|
@ -1,5 +1,4 @@
|
|||
import base64
|
||||
from dataclasses import field
|
||||
import hashlib
|
||||
import hmac
|
||||
import json
|
||||
|
|
Loading…
Reference in New Issue