Ver código fonte

处理 LivePage.vue 中 dplayer 的 div 无法通过 v-if 动态渲染的问题

reghao 2 anos atrás
pai
commit
3e2680a069
1 arquivos alterados com 11 adições e 15 exclusões
  1. 11 15
      src/views/cam/LivePage.vue

+ 11 - 15
src/views/cam/LivePage.vue

@@ -1,19 +1,14 @@
 <template>
-  <!--  <el-row v-if="camDetail !== null" class="movie-list">-->
   <el-row class="movie-list">
     <el-col :md="16">
       <el-row style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px">
         <el-card class="box-card">
           <div slot="header" class="clearfix">
-            <h3 v-html="camDetail.camName" />
+            <h3 v-if="camDetail != null" v-html="camDetail.camName" />
+          </div>
+          <div class="text item">
+            <div id="dplayer" ref="dplayer" style="height: 480px;" />
           </div>
-          <div id="dplayer" ref="dplayer" style="height: 480px;" />
-          <!--          <div v-if="camDetail.state" class="text item">
-                      <div id="dplayer" ref="dplayer" style="height: 480px;" />
-                    </div>
-                    <div v-else>
-                      <h5>摄像头离线, 你可以查看本摄像头的<router-link style="text-decoration-line: none; color: red" target="_blank" :to="`/my/cam/record`">历史录像</router-link></h5>
-                    </div>-->
         </el-card>
       </el-row>
     </el-col>
@@ -69,10 +64,6 @@ export default {
   },
   created() {
     const camId = '103758827520'
-    if (camId === undefined || camId === null) {
-      return
-    }
-
     getCamDetail(camId).then(resp => {
       if (resp.code === 0) {
         var camDetail = resp.data
@@ -80,11 +71,12 @@ export default {
         this.camNameModel = camDetail.camName
         document.title = camDetail.camName + '实时录像'
 
+        var ele = document.querySelector('#dplayer')
         if (camDetail.state) {
-          console.log(camDetail)
           const flvUrl = camDetail.pullUrl
-          console.log(document.querySelector('#dplayer'))
           this.initFlvPlayer(camId, flvUrl)
+        } else {
+          ele.innerHTML = '<h5>摄像头离线, 你可以查看本摄像头的<a style="text-decoration-line: none; color: red" target="_blank" href="/my/cam/record">历史录像</a></h5>'
         }
       }
     })
@@ -108,6 +100,10 @@ export default {
       new DPlayer({
         container: document.querySelector('#dplayer'),
         live: true,
+        screenshot: true,
+        autoplay: true,
+        volume: 0.1,
+        mutex: true,
         video: {
           url: flvUrl,
           type: 'customFlv',