Authored by 周少峰

'v'

@@ -79,18 +79,18 @@ @@ -79,18 +79,18 @@
79 <tr style="height: 155px"> 79 <tr style="height: 155px">
80 <td style="width:100%;"> 80 <td style="width:100%;">
81 <span style="color:red">*</span><label style="font-size: 14px;">上传视频</label> <br> 81 <span style="color:red">*</span><label style="font-size: 14px;">上传视频</label> <br>
82 - <a href="javascript:void(0);" class="btn btn-default" @click="videoAdd" style="background: #428bca; border-radius: 5px; color:#fff; text-decoration: none; padding: 6px 10px;">选择视频+</a><span style="margin-left: 20px; height: 30px; width: 30px; border-radius: 30px; line-height: 30px; text-align: center; background: #aaa; display: inline-block">{{videoUploaderInfo.progress * 100}}%</span><br>  
83 - <span style="color:red"> 请上传比例为16:9横版或9:16竖版视频素材,大小不超过200M,时长不超过90s</span><br> 82 + <a href="javascript:void(0);" class="btn btn-default" @click="videoAdd" style="background: #428bca; border-radius: 5px; color:#fff; text-decoration: none; padding: 6px 10px;">选择视频+</a><span style="margin-left: 20px; height: 30px; width: 30px; border-radius: 30px; line-height: 30px; text-align: center; background: #aaa; display: inline-block">{{videoUploaderInfo.progress}}%</span><br>
  83 + <span style="color:red"> 请上传比例为16:9横版或9:16竖版视频素材,大小不超过50M,时长不超过180s</span><br>
84 <input id="videoUrl" type="text" name="videoUrl" :value="videoUploaderInfo.videoUrl" style="padding: 0; border: 1px solid #aaa; width: 545px;height: 30px; line-height: 30px;"><a style="height: 30px; line-height: 30px; border: 1px solid #aaa; color: #000; text-decoration: none; padding: 0px 15px; display: inline-block; border-left: 0px;" href="javascript:(0);" data-clipboard-action="copy" class="copy" data-clipboard-target="#videoUrl">复制</a> 84 <input id="videoUrl" type="text" name="videoUrl" :value="videoUploaderInfo.videoUrl" style="padding: 0; border: 1px solid #aaa; width: 545px;height: 30px; line-height: 30px;"><a style="height: 30px; line-height: 30px; border: 1px solid #aaa; color: #000; text-decoration: none; padding: 0px 15px; display: inline-block; border-left: 0px;" href="javascript:(0);" data-clipboard-action="copy" class="copy" data-clipboard-target="#videoUrl">复制</a>
85 85
86 - <input type="file" style="display:none;" ref="videoFile" @change="videoUpload" /> 86 + <input type="file" style="display:none;" ref="videoFile" id="videoFile" @change="videoUpload" />
87 <input type="file" style="display:none;" ref="videoCoverFile" @change="videoCoverUpload" /> 87 <input type="file" style="display:none;" ref="videoCoverFile" @change="videoCoverUpload" />
88 88
89 </td> 89 </td>
90 </tr> 90 </tr>
91 <tr style="height: 80px"> 91 <tr style="height: 80px">
92 <td style="width:100%;"> 92 <td style="width:100%;">
93 - <label style="font-size: 14px;">上传封面</label><br> 93 + <span style="color:red">*</span><label style="font-size: 14px;">上传封面</label><br>
94 <template v-if="videoUploaderInfo.coverImg"> 94 <template v-if="videoUploaderInfo.coverImg">
95 <img :src="videoUploaderInfo.coverImg" width="150"><br> 95 <img :src="videoUploaderInfo.coverImg" width="150"><br>
96 <input id="imgs" name="articleImages" :value="videoUploaderInfo.coverImg" hidden="hidden"/> 96 <input id="imgs" name="articleImages" :value="videoUploaderInfo.coverImg" hidden="hidden"/>
@@ -953,6 +953,7 @@ @@ -953,6 +953,7 @@
953 // state 953 // state
954 data () { 954 data () {
955 return { 955 return {
  956 + upload: false,
956 articleId: data ? data.articleId : 0, 957 articleId: data ? data.articleId : 0,
957 videoUploaderInfo: { 958 videoUploaderInfo: {
958 progress: 0, 959 progress: 0,
@@ -976,19 +977,28 @@ @@ -976,19 +977,28 @@
976 this.$refs.videoCoverFile.click() 977 this.$refs.videoCoverFile.click()
977 }, 978 },
978 videoUpload: function () { 979 videoUpload: function () {
  980 + if (this.upload) {
  981 + $.messager.alert("提示","上传中!!", "info");
  982 + return;
  983 + }
979 var self = this; 984 var self = this;
980 var mediaFile = this.$refs.videoFile.files[0]; 985 var mediaFile = this.$refs.videoFile.files[0];
981 if (mediaFile.type != "video/mp4") { 986 if (mediaFile.type != "video/mp4") {
982 $.messager.alert("提示","仅仅 MP4 格式视频!!", "error"); 987 $.messager.alert("提示","仅仅 MP4 格式视频!!", "error");
  988 + this.$refs.videoFile.value = "";
983 return; 989 return;
984 } 990 }
985 991
986 if (mediaFile.size > 1024*1024*100) { 992 if (mediaFile.size > 1024*1024*100) {
987 $.messager.alert("提示","视频最大支持100M!!", "error"); 993 $.messager.alert("提示","视频最大支持100M!!", "error");
  994 + this.$refs.videoFile.value = "";
  995 + return;
988 } 996 }
  997 + this.upload = true;
989 var uploader = this.tcVod.upload({ 998 var uploader = this.tcVod.upload({
990 mediaFile: mediaFile, 999 mediaFile: mediaFile,
991 }) 1000 })
  1001 + this.$refs.videoFile.value = "";
992 self.videoUploaderInfo = { 1002 self.videoUploaderInfo = {
993 videoInfo: uploader.videoInfo, 1003 videoInfo: uploader.videoInfo,
994 isVideoUploadSuccess: false, 1004 isVideoUploadSuccess: false,
@@ -1002,7 +1012,8 @@ @@ -1002,7 +1012,8 @@
1002 }, 1012 },
1003 } 1013 }
1004 uploader.on('media_progress', function (info) { 1014 uploader.on('media_progress', function (info) {
1005 - self.videoUploaderInfo.progress = Math.round(info.percent); 1015 + console.log(self.videoUploaderInfo, info);
  1016 + self.videoUploaderInfo.progress = Math.round(info.percent*100);
1006 }) 1017 })
1007 uploader.on('media_upload', function (info) { 1018 uploader.on('media_upload', function (info) {
1008 self.videoUploaderInfo.isVideoUploadSuccess = true; 1019 self.videoUploaderInfo.isVideoUploadSuccess = true;
@@ -1011,6 +1022,7 @@ @@ -1011,6 +1022,7 @@
1011 uploader.done().then(function(doneResult) { 1022 uploader.done().then(function(doneResult) {
1012 self.videoUploaderInfo.fileId = doneResult.fileId; 1023 self.videoUploaderInfo.fileId = doneResult.fileId;
1013 self.videoUploaderInfo.videoUrl = doneResult.video.url; 1024 self.videoUploaderInfo.videoUrl = doneResult.video.url;
  1025 + self.upload = false
1014 }) 1026 })
1015 }, 1027 },
1016 1028