lushixing hace 5 días
padre
commit
aa12bf26f1

+ 11 - 6
src/views/catwalk-video/brandVideoEditor.vue

@@ -16,7 +16,7 @@
                 }"
                 :limit="15"
                 :disabled="videoFlag"
-                accept="video/*"
+                accept="video/*,.mkv"
                 :on-success="handleVideoSuccess" 
                 :before-upload="beforeUploadVideo" 
                 :on-progress="uploadVideoProcess">
@@ -41,7 +41,7 @@
                   <p class="text-black" v-else-if="!videoList.length && !videoFlag">
                     <span class="upload-icon"><img src="../../assets/image/upload-icon.svg" alt=""></span>
                     <span class="_text_">选择文件或者拖拽上传视频</span>
-                    <span class="subtext">支持MP4文件,最大200MB</span>
+                    <span class="subtext">支持所有视频格式文件,最大200MB</span>
                     <a href="javascript:;" class="file-btns">浏览文件</a>
                   </p>
                   <div class="progress-black" v-if="videoFlag">
@@ -245,10 +245,15 @@ export default {
     },
     beforeUploadVideo(file) {
       const isLt10M = file.size / 1024 / 1024 < 200;
-      const allowedTypes = [
-        'video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'
-      ];
-      if (!allowedTypes.includes(file.type)) {
+      const allowedExtensions = ['mp4', 'webm', 'ogg', 'mkv', 'mov', 'avi', 'flv', 'wmv', 'rmvb', 'mpeg', 'm4v'];
+
+      function isVideoFile(file) {
+        const typeOk = file.type.startsWith('video/');
+        const ext = file.name.split('.').pop().toLowerCase();
+        const extOk = allowedExtensions.includes(ext);
+        return typeOk || extOk;
+      }
+      if (!isVideoFile(file)) {
         this.$message.error('请上传正确的视频格式');
         return false;
       }

+ 22 - 10
src/views/catwalk-video/index.vue

@@ -31,16 +31,17 @@
         <el-table-column label="原视频" min-width="130" align="center" prop="videoCoverImageUrl">
           <template slot-scope="scope">
             <div v-if="scope.row.rawVideoUrl" class="video" @click="handlePlay(scope.row.rawVideoUrl)">
-              <video :src="scope.row.rawVideoUrl" class="video-img" />
+              <img class="video-img" style="max-width: 100%;" :src="scope.row.videoCoverImageUrl" alt="">
               <i class="el-icon-video-play" />
             </div>
           </template>
         </el-table-column>
         <el-table-column label="视频封面" min-width="130" align="center" prop="videoCoverImageUrl">
           <template slot-scope="scope">
-            <div v-if="scope.row.videoUrl" class="video" @click="handlePlay(scope.row.videoUrl)">
-              <video :src="scope.row.videoUrl" class="video-img" />
-              <i class="el-icon-video-play" />
+            <div class="video">
+              <el-image  class="video-last-img video" :src="scope.row.videoCoverImageUrl"
+                :preview-src-list="[scope.row.videoCoverImageUrl]" :lazy="true" />
+              <i class="el-icon-zoom-in" />
             </div>
           </template>
         </el-table-column>
@@ -69,7 +70,17 @@
             <span v-if="scope.row.processStatus == 2">处理失败</span>
           </template>
         </el-table-column>
-        <el-table-column label="处理结果" align="center" prop="processResult" />
+        <el-table-column label="处理结果" min-width="100" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.processStatus != 2">{{ scope.row.processResult }}</span>
+            <span v-else>
+              <el-tooltip class="item" effect="dark" placement="top-start">
+                <span style="color: #f16272;cursor: pointer;">失败原因 <i class="el-icon-warning"></i></span>
+                <div style="max-width: 300px;" slot="content">{{ scope.row.processResult }}</div>
+              </el-tooltip>
+            </span>
+          </template>
+        </el-table-column>
         <el-table-column label="下载次数" min-width="100" align="center">
           <template slot-scope="scope">
             {{ scope.row.downlaodCount ? scope.row.downlaodCount : '-' }}
@@ -112,7 +123,7 @@
             </el-tooltip>
             <el-tooltip class="more" style="margin: 10px 0 0 0;" effect="dark" content="更多操作" placement="top">
               <el-dropdown trigger="click" @command="command => handleAdvise(command, scope.row)">
-                <el-button size="mini" type="primary" icon="el-icon-more" circle title="更多操作" />
+                <el-button size="mini" type="info" icon="el-icon-more" circle title="更多操作" />
                 <el-dropdown-menu class="dropdown-menu" slot="dropdown">
                   <el-dropdown-item command="addAdvise">优化建议</el-dropdown-item>
                   <el-dropdown-item command="editAdvise">查看建议</el-dropdown-item>
@@ -341,6 +352,7 @@ export default {
   display: flex;
   align-content: center;
   justify-content: center;
+  cursor: pointer;
 
   &:hover {
     i {
@@ -363,12 +375,12 @@ export default {
   }
 
   i {
-    width: 80px;
-    height: 80px;
     position: absolute;
-    top: 85%;
+    top: 50%;
     left: 50%;
-    transform: translate(-50%, -50%);
+    transform: translate(-50%,-50%);
+    width: 20px;
+    height: 20px;
     font-size: 20px;
     font-weight: bold;
     color: #fff;

+ 1 - 1
src/views/face-swap-video/index.vue

@@ -112,7 +112,7 @@
             </el-tooltip>
             <el-tooltip class="more" style="margin: 10px 0 0 0;" effect="dark" content="更多操作" placement="top">
               <el-dropdown trigger="click" @command="command => handleAdvise(command, scope.row)">
-                <el-button size="mini" type="primary" icon="el-icon-more" circle title="更多操作" />
+                <el-button size="mini" type="info" icon="el-icon-more" circle title="更多操作" />
                 <el-dropdown-menu class="dropdown-menu" slot="dropdown">
                   <el-dropdown-item command="addAdvise">优化建议</el-dropdown-item>
                   <el-dropdown-item command="editAdvise">查看建议</el-dropdown-item>

+ 1 - 1
src/views/oral-video/index.vue

@@ -117,7 +117,7 @@
             </el-tooltip>
             <el-tooltip class="more" style="margin: 10px 0 0 0;" effect="dark" content="更多操作" placement="top">
               <el-dropdown trigger="click" @command="command => handleAdvise(command, scope.row)">
-                <el-button size="mini" type="primary" icon="el-icon-more" circle title="更多操作" />
+                <el-button size="mini" type="info" icon="el-icon-more" circle title="更多操作" />
                 <el-dropdown-menu class="dropdown-menu" slot="dropdown">
                   <el-dropdown-item command="addAdvise">优化建议</el-dropdown-item>
                   <el-dropdown-item command="editAdvise">查看建议</el-dropdown-item>