Explorar el Código

直播优化代码

yuhongqi hace 14 horas
padre
commit
1c8272e00d

+ 1 - 1
src/views/life/vest/index.vue

@@ -36,7 +36,7 @@
         <template slot-scope="scope">
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['life:vest:edit']">编辑</el-button>
           <el-button size="mini" type="text" icon="el-icon-video-camera" @click="goVideo(scope.row)" v-hasPermi="['life:video:list']">内容配置</el-button>
-          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['life:vest:remove']">删除</el-button>
+<!--          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['life:vest:remove']">删除</el-button>-->
         </template>
       </el-table-column>
     </el-table>

+ 6 - 6
src/views/life/video/index.vue

@@ -144,12 +144,12 @@
             <el-radio :label="0">下架</el-radio>
           </el-radio-group>
         </el-form-item>
-<!--        <el-form-item label="今日主推" prop="isHot">-->
-<!--          <el-radio-group v-model="form.isHot">-->
-<!--            <el-radio :label="1">是</el-radio>-->
-<!--            <el-radio :label="0">否</el-radio>-->
-<!--          </el-radio-group>-->
-<!--        </el-form-item>-->
+        <el-form-item label="今日主推" prop="isHot">
+          <el-radio-group v-model="form.isHot">
+            <el-radio :label="1">是</el-radio>
+            <el-radio :label="0">否</el-radio>
+          </el-radio-group>
+        </el-form-item>
         <el-form-item label="是否关联商品" prop="isProduct">
           <el-radio-group v-model="form.isProduct" @change="onIsProductChange">
             <el-radio :label="1">是</el-radio>

+ 27 - 17
src/views/live/liveConfig/liveReplay.vue

@@ -111,6 +111,7 @@
         <el-table-column label="视频地址" prop="videoUrl" >
           <template slot-scope="scope">
             <el-tooltip
+              v-if="scope.row.videoUrl"
               :content="scope.row.videoUrl"
               placement="top"
               effect="dark"
@@ -129,6 +130,7 @@
                 <i class="el-icon-external-link video-url-icon"></i>
               </a>
             </el-tooltip>
+            <span v-else>-</span>
           </template>
         </el-table-column>
 <!--        <el-table-column label="操作" prop="videoUrl" >-->
@@ -223,21 +225,28 @@ export default {
   },
   methods: {
     getLiveVideo() {
+      this.videoList = [];
+      if (!this.liveId) {
+        return;
+      }
       getLiveVideoByLiveId(this.liveId).then(res => {
-        let dataEntity =
-        {
-          duration: "00:00",
-          status: "回放中",
-          updateTime: "2025-09-08 14:28:24",
-        };
-
-        //将秒数转为时分秒
-        dataEntity.duration = this.convertSeconds(res.data.duration);
-        dataEntity.updateTime = res.data.updateTime;
-        dataEntity.videoUrl = res.data.videoUrl;
-        dataEntity.videoName = this.extractFileName(dataEntity.videoUrl)
-
-        this.videoList.push(dataEntity);
+        const raw = res && res.data;
+        if (!raw) {
+          return;
+        }
+        // 接口可能返回单条对象或数组
+        const list = Array.isArray(raw) ? raw : [raw];
+        this.videoList = list
+          .filter(item => item && item.videoUrl)
+          .map(item => ({
+            duration: this.convertSeconds(item.duration),
+            status: "回放中",
+            updateTime: item.updateTime || "",
+            videoUrl: item.videoUrl,
+            videoName: this.extractFileName(item.videoUrl),
+          }));
+      }).catch(() => {
+        this.videoList = [];
       });
     },
     /**
@@ -286,12 +295,13 @@ export default {
     getLive() {
       getLive(this.liveId).then(res => {
         this.liveInfo = res.data;
-        if(res.data.liveConfig){
+        if (res.data.liveConfig) {
           this.replayForm = JSON.parse(res.data.liveConfig);
-          this.getLiveVideo();
-        }else{
+        } else {
           this.resetForm();
         }
+        // 无论回放开关开/关,都展示回放视频内容
+        this.getLiveVideo();
         this.loading = false;
       });
     },