From b6e604f2449bb65dfaafb0f0741ba54ff0d2f9c2 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 30 四月 2024 15:20:03 +0800
Subject: [PATCH] 修改云端录像详情页使用直接访问zlm的方式播放录像

---
 web_src/src/components/CloudRecordDetail.vue |   61 ++++++++++++++++++++----------
 1 files changed, 41 insertions(+), 20 deletions(-)

diff --git a/web_src/src/components/CloudRecordDetail.vue b/web_src/src/components/CloudRecordDetail.vue
index 1e15990..cd0bc3c 100755
--- a/web_src/src/components/CloudRecordDetail.vue
+++ b/web_src/src/components/CloudRecordDetail.vue
@@ -37,13 +37,13 @@
           <div class="record-list-box" :style="recordListStyle">
             <ul v-if="detailFiles.length >0" class="infinite-list record-list" v-infinite-scroll="infiniteScroll" >
               <li v-for="(item,index) in detailFiles" :key="index" class="infinite-list-item record-list-item" >
-                <el-tag v-if="choosedFile !== item.filename" @click="chooseFile(item)">
+                <el-tag v-if="choosedFile !== item.fileName" @click="chooseFile(item)">
                   <i class="el-icon-video-camera"  ></i>
-                  {{ item.fileName.substring(0, 17) }}
+                  {{ getFileShowName(item) }}
                 </el-tag>
-                <el-tag type="danger" v-if="choosedFile === item.filename">
+                <el-tag type="danger" v-if="choosedFile === item.fileName">
                   <i class="el-icon-video-camera"  ></i>
-                  {{ item.fileName.substring(0, 17) }}
+                  {{ getFileShowName(item) }}
                 </el-tag>
                 <a class="el-icon-download" style="color: #409EFF;font-weight: 600;margin-left: 10px;"
                    :href="`${getFileBasePath(item)}/download.html?url=download/${app}/${stream}/${chooseDate}/${item.fileName}`"
@@ -135,7 +135,7 @@
 <script>
   // TODO 鏍规嵁鏌ヨ鐨勬椂闂村垪琛ㄨ缃粦杞ㄧ殑鏈�澶у�间笌鏈�灏忓�硷紝
 	import uiHeader from '../layout/UiHeader.vue'
-	import player from './dialog/easyPlayer.vue'
+	import player from './common/easyPlayer.vue'
   import moment  from 'moment'
   import axios from "axios";
 	export default {
@@ -314,18 +314,42 @@
         });
       },
       chooseFile(file){
+        console.log(file)
 			  if (file == null) {
           this.videoUrl = "";
           this.choosedFile = "";
         }else {
           this.choosedFile = file.fileName;
-          this.videoUrl = `${this.getFileBasePath(file)}/download/${this.app}/${this.stream}/${this.chooseDate}/${this.choosedFile}`
-          console.log(this.videoUrl)
+          this.$axios({
+            method: 'get',
+            url: `/api/cloud/record/play/path`,
+            params: {
+              recordId: file.id,
+            }
+          }).then((res) => {
+            console.log(res)
+            if (res.data.code === 0) {
+              if (location.protocol === "https:") {
+                this.videoUrl = res.data.data.httpsPath;
+              }else {
+                this.videoUrl = res.data.data.httpPath;
+              }
+            }
+          }).catch((error) => {
+            console.log(error);
+          });
+          //
+          //
+          // this.videoUrl = `${this.getFileBasePath(file)}/download/${this.app}/${this.stream}/${this.chooseDate}/${file.fileName}`
+          // console.log(this.videoUrl)
         }
 
       },
       backToList() {
         this.$router.back()
+      },
+      getFileShowName(item) {
+          return  moment.unix(item.startTime).format('HH:mm:ss') + "-" + moment.unix(item.endTime).format('HH:mm:ss')
       },
       chooseMediaChange() {
 
@@ -372,13 +396,8 @@
       },
       getTimeForFile(file){
         console.log(file)
-        let timeStr = file.fileName.substring(0, 17);
-        if(timeStr.indexOf("~") > 0){
-          timeStr = timeStr.replaceAll("-",":")
-        }
-        let timeArr = timeStr.split("-");
-        let starTime = new Date(this.chooseDate + " " + timeArr[0]);
-        let endTime = new Date(this.chooseDate + " " + timeArr[1]);
+        let starTime = new Date(file.startTime * 1000);
+        let endTime = new Date(file.endTime * 1000);
         if(this.checkIsOver24h(starTime,endTime)){
            endTime = new Date(this.chooseDate + " " + "23:59:59");
         }
@@ -482,12 +501,13 @@
         let that = this;
         this.$axios({
           method: 'get',
-          url:`/record_proxy/${that.mediaServerId}/api/record/file/download/task/add`,
+          url:`/api/cloud/record/task/add`,
           params: {
-            app: that.app,
-            stream: that.stream,
-            startTime: moment(this.taskTimeRange[0]).format('YYYY-MM-DD HH:mm:ss'),
-            endTime: moment(this.taskTimeRange[1]).format('YYYY-MM-DD HH:mm:ss'),
+              app: this.app,
+              stream: this.stream,
+              mediaServerId: this.mediaServerId,
+              startTime: moment(this.taskTimeRange[0]).format('YYYY-MM-DD HH:mm:ss'),
+              endTime: moment(this.taskTimeRange[1]).format('YYYY-MM-DD HH:mm:ss'),
           }
         }).then(function (res) {
           if (res.data.code === 0 ) {
@@ -507,8 +527,9 @@
         let that = this;
         this.$axios({
           method: 'get',
-          url:`/record_proxy/${that.mediaServerId}/api/record/file/download/task/list`,
+          url:`/api/cloud/record/task/list`,
           params: {
+            mediaServerId: this.mediaServerId,
             isEnd: isEnd,
           }
         }).then(function (res) {

--
Gitblit v1.8.0