From 118e42884e677a99dbdd20349eaad85c96bafeb4 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期四, 22 四月 2021 10:56:13 +0800
Subject: [PATCH] 优化拉流代理

---
 web_src/src/components/StreamProxyList.vue |   99 +++++++++++++++++++++++++++----------------------
 1 files changed, 55 insertions(+), 44 deletions(-)

diff --git a/web_src/src/components/StreamProxyList.vue b/web_src/src/components/StreamProxyList.vue
index f76a164..ee3d43c 100644
--- a/web_src/src/components/StreamProxyList.vue
+++ b/web_src/src/components/StreamProxyList.vue
@@ -19,13 +19,13 @@
 					<el-table-column label="娴佸湴鍧�" width="400" align="center" show-overflow-tooltip >
 						<template slot-scope="scope">
 						<div slot="reference" class="name-wrapper">
-							
+
 							<el-tag size="medium" v-if="scope.row.type == 'default'">
-								<i class="cpoy-btn el-icon-document-copy"  title="鐐瑰嚮鎷疯礉" v-clipboard="scope.row.url" @success="$message({type:'success', message:'鎴愬姛鎷疯礉鍒扮矘璐存澘'})"></i> 
+								<i class="cpoy-btn el-icon-document-copy"  title="鐐瑰嚮鎷疯礉" v-clipboard="scope.row.url" @success="$message({type:'success', message:'鎴愬姛鎷疯礉鍒扮矘璐存澘'})"></i>
 								{{scope.row.url}}
 							</el-tag>
 							<el-tag size="medium" v-if="scope.row.type != 'default'">
-								<i class="cpoy-btn el-icon-document-copy"  title="鐐瑰嚮鎷疯礉" v-clipboard="scope.row.src_url" @success="$message({type:'success', message:'鎴愬姛鎷疯礉鍒扮矘璐存澘'})"></i> 
+								<i class="cpoy-btn el-icon-document-copy"  title="鐐瑰嚮鎷疯礉" v-clipboard="scope.row.src_url" @success="$message({type:'success', message:'鎴愬姛鎷疯礉鍒扮矘璐存澘'})"></i>
 								{{scope.row.src_url}}
 							</el-tag>
 						</div>
@@ -62,9 +62,8 @@
 							<el-button-group>
 								<el-button size="mini" icon="el-icon-video-play" v-if="scope.row.enable" @click="play(scope.row)">鎾斁</el-button>
 								<el-button size="mini" icon="el-icon-close" type="success" v-if="scope.row.enable" @click="stop(scope.row)">鍋滅敤</el-button>
-								<el-button size="mini" icon="el-icon-check" type="primary" v-if="!scope.row.enable" @click="start(scope.row)">鍚敤</el-button>
+								<el-button size="mini" icon="el-icon-check" type="primary" :loading="startBtnLaoding" v-if="!scope.row.enable" @click="start(scope.row)">鍚敤</el-button>
 								<el-button size="mini" icon="el-icon-delete" type="danger"  @click="deleteStreamProxy(scope.row)">鍒犻櫎</el-button>
-								<!-- <el-button size="mini" icon="el-icon-position" type="primary"  >鍔犲叆鍥芥爣</el-button> -->
 							</el-button-group>
 							</template>
 					</el-table-column>
@@ -98,7 +97,7 @@
 		},
 		data() {
 			return {
-				streamProxyList: [], 
+				streamProxyList: [],
 				currentPusher: {}, //褰撳墠鎿嶄綔璁惧瀵硅薄
 				updateLooper: 0, //鏁版嵁鍒锋柊杞鏍囧織
 				currentDeviceChannelsLenth:0,
@@ -106,7 +105,8 @@
 				currentPage:1,
 				count:15,
 				total:0,
-				getListLoading: false
+				getListLoading: false,
+				startBtnLaoding: false
 			};
 		},
 		computed: {
@@ -134,20 +134,20 @@
 			getStreamProxyList: function() {
 				let that = this;
 				this.getListLoading = true;
-				this.$axios.get(`/api/proxy/list`,{
+				this.$axios({
+					method: 'get',
+					url:`/api/proxy/list`,
 					params: {
 						page: that.currentPage,
 						count: that.count
 					}
-				} )
-				.then(function (res) {
+				}).then(function (res) {
 					console.log(res);
 					console.log(res.data.list);
 					that.total = res.data.total;
 					that.streamProxyList = res.data.list;
 					that.getListLoading = false;
-				})
-				.catch(function (error) {
+				}).catch(function (error) {
 					console.log(error);
 					that.getListLoading = false;
 				});
@@ -160,76 +160,87 @@
 			play: function(row){
 				let that = this;
 				this.getListLoading = true;
-				this.$axios.get(`/api/media/getStreamInfoByAppAndStream`,{
+				this.$axios({
+					method: 'get',
+					url:`/api/media/stream_info_by_app_and_stream`,
 					params: {
 						app: row.app,
 						stream: row.stream
 					}
-				})
-				.then(function (res) {
+				}).then(function (res) {
 					that.getListLoading = false;
 					that.$refs.devicePlayer.openDialog("streamPlay", null, null, {
                         streamInfo: res.data,
                         hasAudio: true
                     });
-				})
-				.catch(function (error) {
+				}).catch(function (error) {
 					console.log(error);
 					that.getListLoading = false;
 				});
-				
+
 			},
 			deleteStreamProxy: function(row){
-				console.log(1111)
 				let that = this;
 				this.getListLoading = true;
-				this.$axios.get(`/api/proxy/del`,{
-					params: {
-						app: row.app,
-						stream: row.stream
-					}
-				})
-				.then(function (res) {
+				that.$axios({
+                    method:"delete",
+                    url:"/api/proxy/del",
+                    params:{
+                      app: row.app,
+                      stream: row.stream
+                    }
+                }).then((res)=>{
+                    that.getListLoading = false;
+					          that.initData()
+                }).catch(function (error) {
+                    console.log(error);
 					that.getListLoading = false;
-					that.initData()
-				})
-				.catch(function (error) {
-					console.log(error);
-					that.getListLoading = false;
-				});
+                });
 			},
 			start: function(row){
 				let that = this;
 				this.getListLoading = true;
-				this.$axios.get(`/api/proxy/start`,{
+				this.startBtnLaoding = true;
+				this.$axios({
+					method: 'get',
+					url:`/api/proxy/start`,
 					params: {
 						app: row.app,
 						stream: row.stream
 					}
-				})
-				.then(function (res) {
-					that.getListLoading = false;
-					that.initData()
-				})
-				.catch(function (error) {
+				}).then(function (res) {
+          that.getListLoading = false;
+          that.startBtnLaoding = false;
+				  if (res.data == "success"){
+            that.initData()
+          }else {
+            that.$message({
+              showClose: true,
+              message: "淇濆瓨澶辫触锛岃妫�鏌ュ湴鍧�鏄惁鍙敤锛�",
+              type: "error",
+            });
+          }
+
+				}).catch(function (error) {
 					console.log(error);
 					that.getListLoading = false;
+					that.startBtnLaoding = false;
 				});
 			},
 			stop: function(row){
 				let that = this;
 				this.getListLoading = true;
-				this.$axios.get(`/api/proxy/stop`,{
+				this.$axios({
+					method: 'get',
+					url:`/api/proxy/stop`,
 					params: {
 						app: row.app,
 						stream: row.stream
 					}
-				})
-				.then(function (res) {
+				}).then(function (res) {
 					that.getListLoading = false;
 					that.initData()
-				})
-				.catch(function (error) {
+				}).catch(function (error) {
 					console.log(error);
 					that.getListLoading = false;
 				});

--
Gitblit v1.8.0