From dcd78a1cfa0c929403d51a347e43414f6aa5f0d8 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期一, 04 一月 2021 18:30:44 +0800
Subject: [PATCH] 存储部分使用sqlite代替redis-3

---
 web_src/src/components/channelList.vue |   61 ++++++++++++------------------
 1 files changed, 25 insertions(+), 36 deletions(-)

diff --git a/web_src/src/components/channelList.vue b/web_src/src/components/channelList.vue
index 930da5b..2867d7b 100644
--- a/web_src/src/components/channelList.vue
+++ b/web_src/src/components/channelList.vue
@@ -21,8 +21,8 @@
                 </el-select>
                 鍦ㄧ嚎鐘舵��: <el-select size="mini" @change="search" v-model="online" placeholder="璇烽�夋嫨" default-first-option>
                     <el-option label="鍏ㄩ儴" value=""></el-option>
-                    <el-option label="鍦ㄧ嚎" value="on"></el-option>
-                    <el-option label="绂荤嚎" value="off"></el-option>
+                    <el-option label="鍦ㄧ嚎" value="true"></el-option>
+                    <el-option label="绂荤嚎" value="false"></el-option>
                 </el-select>
 
             </div>
@@ -58,8 +58,8 @@
                             <el-button size="mini" icon="el-icon-video-play" @click="sendDevicePush(scope.row)">鎾斁</el-button>
                             <el-button size="mini" icon="el-icon-switch-button" type="danger" v-if="scope.row.play" @click="stopDevicePush(scope.row)">鍋滄</el-button>
                             <el-button size="mini" icon="el-icon-s-open" type="primary" v-if="scope.row.parental == 1" @click="changeSubchannel(scope.row)">鏌ョ湅</el-button>
-                                              <el-button size="mini" icon="el-icon-video-camera" type="primary" @click="queryRecords(scope.row)">璁惧褰曡薄</el-button>
-<!--                             <el-button size="mini" @click="sendDevicePush(scope.row)">褰曞儚鏌ヨ</el-button> -->
+                            <el-button size="mini" icon="el-icon-video-camera" type="primary" @click="queryRecords(scope.row)">璁惧褰曡薄</el-button>
+                            <!--                             <el-button size="mini" @click="sendDevicePush(scope.row)">褰曞儚鏌ヨ</el-button> -->
                         </el-button-group>
                     </template>
                 </el-table-column>
@@ -104,7 +104,7 @@
 
     mounted() {
         this.initData();
-        // this.updateLooper = setInterval(this.initData, 10000);
+        this.updateLooper = setInterval(this.initData, 1000);
     },
     destroyed() {
         this.$destroy('videojs');
@@ -161,7 +161,7 @@
                 .then(function (res) {
                     console.log(res);
                     that.total = res.data.total;
-                    that.deviceChannelList = res.data.data;
+                    that.deviceChannelList = res.data.list;
                     // 闃叉鍑虹幇琛ㄦ牸閿欎綅
                     that.$nextTick(() => {
                         that.$refs.channelListTable.doLayout();
@@ -173,44 +173,27 @@
 
         },
 
-        //gb28181骞冲彴瀵规帴
-        //鍒锋柊璁惧淇℃伅
-        refDevice: function (itemData) {
-            ///api/devices/{deviceId}/sync
-            console.log("鍒锋柊瀵瑰簲璁惧:" + itemData.deviceId);
-            this.$axios({
-                method: 'post',
-                url: '/api/devices/' + itemData.deviceId + '/sync'
-            }).then(function (res) {
-                // console.log("鍒锋柊璁惧缁撴灉锛�"+JSON.stringify(res));
-            }).catch(function (e) {
-                that.$message({
-                    showClose: true,
-                    message: '璇锋眰鎴愬姛',
-                    type: 'success'
-                });
-            });
-        },
         //閫氱煡璁惧涓婁紶濯掍綋娴�
         sendDevicePush: function (itemData) {
             console.log(itemData)
             let deviceId = this.deviceId;
             this.isLoging = true;
             let channelId = itemData.channelId;
-            console.log("閫氱煡璁惧鎺ㄦ祦1锛�" + deviceId + " : " + channelId);
+            let getEncoding = itemData.hasAudio ? '1' : '0'
+            console.log("閫氱煡璁惧鎺ㄦ祦1锛�" + deviceId + " : " + channelId + ":" + getEncoding);
             let that = this;
             this.$axios({
                 method: 'get',
-                url: '/api/play/' + deviceId + '/' + channelId
+                url: '/api/play/' + deviceId + '/' + channelId + '?getEncoding=' + getEncoding
             }).then(function (res) {
                 console.log(res.data)
-                let ssrc = res.data.ssrc;
+                let streamId = res.data.streamId;
                 that.isLoging = false;
-                if (!!ssrc) {
+                if (!!streamId) {
                     // that.$refs.devicePlayer.play(res.data, deviceId, channelId, itemData.hasAudio);
-                    that.$refs.devicePlayer.openDialog("media", deviceId, channelId,{
-                      streamInfo: res.data,
-                      hasAudio: itemData.hasAudio
+                    that.$refs.devicePlayer.openDialog("media", deviceId, channelId, {
+                        streamInfo: res.data,
+                        hasAudio: itemData.hasAudio
                     });
                     that.initData();
                 } else {
@@ -219,20 +202,26 @@
             }).catch(function (e) {});
         },
         queryRecords: function (itemData) {
-          var format = moment().format("YYYY-M-D");
-          let deviceId = this.deviceId;
-          let channelId = itemData.channelId;
-          this.$refs.devicePlayer.openDialog("record", deviceId, channelId, {date:format})
+            var format = moment().format("YYYY-M-D");
+            let deviceId = this.deviceId;
+            let channelId = itemData.channelId;
+            this.$refs.devicePlayer.openDialog("record", deviceId, channelId, {date: format})
         },
         stopDevicePush: function (itemData) {
             console.log(itemData)
             var that = this;
             this.$axios({
                 method: 'post',
-                url: '/api/play/' + itemData.ssrc + '/stop'
+                url: '/api/play/' + itemData.streamId + '/stop'
             }).then(function (res) {
                 console.log(JSON.stringify(res));
                 that.initData();
+            }).catch(function (error) {
+              if (error.response.status == 402) { // 宸茬粡鍋滄杩�
+                that.initData();
+              }else {
+                console.log(e)
+              }
             });
         },
 

--
Gitblit v1.8.0