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 | 104 +++++++++++++++++++++++++++++----------------------- 1 files changed, 58 insertions(+), 46 deletions(-) diff --git a/web_src/src/components/StreamProxyList.vue b/web_src/src/components/StreamProxyList.vue index 0a1e03d..ee3d43c 100644 --- a/web_src/src/components/StreamProxyList.vue +++ b/web_src/src/components/StreamProxyList.vue @@ -13,24 +13,25 @@ </div> <devicePlayer ref="devicePlayer"></devicePlayer> <el-table :data="streamProxyList" border style="width: 100%" :height="winHeight"> - <el-table-column prop="app" label="搴旂敤鍚�" align="center" show-overflow-tooltip/> + <el-table-column prop="name" label="鍚嶇О" align="center" show-overflow-tooltip/> + <el-table-column prop="app" label="娴佸簲鐢ㄥ悕" align="center" show-overflow-tooltip/> <el-table-column prop="stream" label="娴両D" align="center" show-overflow-tooltip/> <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> </template> </el-table-column> - + <el-table-column prop="gbId" label="鍥芥爣缂栫爜" width="180" align="center" show-overflow-tooltip/> <el-table-column label="杞琀LS" width="120" align="center"> <template slot-scope="scope"> <div slot="reference" class="name-wrapper"> @@ -56,13 +57,12 @@ </template> </el-table-column> - <el-table-column label="鎿嶄綔" width="360" align="center" fixed="right"> <template slot-scope="scope"> <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-group> </template> @@ -97,7 +97,7 @@ }, data() { return { - streamProxyList: [], + streamProxyList: [], currentPusher: {}, //褰撳墠鎿嶄綔璁惧瀵硅薄 updateLooper: 0, //鏁版嵁鍒锋柊杞鏍囧織 currentDeviceChannelsLenth:0, @@ -105,7 +105,8 @@ currentPage:1, count:15, total:0, - getListLoading: false + getListLoading: false, + startBtnLaoding: false }; }, computed: { @@ -133,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; }); @@ -159,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