From 3483980ada72793318e5c3509320d3069af95b2c Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 17 七月 2023 16:42:16 +0800
Subject: [PATCH] Merge pull request #956 from xiaoQQya/develop
---
web_src/src/components/StreamProxyList.vue | 131 ++++++++++++++++++++++---------------------
1 files changed, 68 insertions(+), 63 deletions(-)
diff --git a/web_src/src/components/StreamProxyList.vue b/web_src/src/components/StreamProxyList.vue
index 9f7ed61..ff079cb 100644
--- a/web_src/src/components/StreamProxyList.vue
+++ b/web_src/src/components/StreamProxyList.vue
@@ -22,8 +22,8 @@
{{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>
- {{scope.row.src_url}}
+ <i class="cpoy-btn el-icon-document-copy" title="鐐瑰嚮鎷疯礉" v-clipboard="scope.row.srcUrl" @success="$message({type:'success', message:'鎴愬姛鎷疯礉鍒扮矘璐存澘'})"></i>
+ {{scope.row.srcUrl}}
</el-tag>
</div>
</template>
@@ -32,7 +32,7 @@
<el-table-column label="绫诲瀷" width="100" >
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
- <el-tag size="medium">{{scope.row.type}}</el-tag>
+ <el-tag size="medium">{{scope.row.type === "default"? "鐩存帴浠g悊":"FFMPEG浠g悊"}}</el-tag>
</div>
</template>
</el-table-column>
@@ -55,27 +55,28 @@
</template>
</el-table-column>
<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="150" show-overflow-tooltip/>
- <el-table-column label="杞琀LS" min-width="120" >
+ <el-table-column label="闊抽" min-width="120" >
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
- <el-tag size="medium" v-if="scope.row.enable_hls">宸插惎鐢�</el-tag>
- <el-tag size="medium" type="info" v-if="!scope.row.enable_hls">鏈惎鐢�</el-tag>
+ <el-tag size="medium" v-if="scope.row.enableAudio">宸插惎鐢�</el-tag>
+ <el-tag size="medium" type="info" v-if="!scope.row.enableAudio">鏈惎鐢�</el-tag>
</div>
</template>
</el-table-column>
- <el-table-column label="MP4褰曞埗" min-width="120" >
+ <el-table-column label="褰曞埗" min-width="120" >
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
- <el-tag size="medium" v-if="scope.row.enable_mp4">宸插惎鐢�</el-tag>
- <el-tag size="medium" type="info" v-if="!scope.row.enable_mp4">鏈惎鐢�</el-tag>
+ <el-tag size="medium" v-if="scope.row.enableMp4">宸插惎鐢�</el-tag>
+ <el-tag size="medium" type="info" v-if="!scope.row.enableMp4">鏈惎鐢�</el-tag>
</div>
</template>
</el-table-column>
- <el-table-column label="鏃犱汉瑙傜湅鑷姩鍒犻櫎" min-width="160" >
+ <el-table-column label="鏃犱汉瑙傜湅" min-width="160" >
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
- <el-tag size="medium" v-if="scope.row.enable_remove_none_reader">宸插惎鐢�</el-tag>
- <el-tag size="medium" type="info" v-if="!scope.row.enable_remove_none_reader">鏈惎鐢�</el-tag>
+ <el-tag size="medium" v-if="scope.row.enableRemoveNoneReader">绉婚櫎</el-tag>
+ <el-tag size="medium" v-if="scope.row.enableDisableNoneReader">鍋滅敤</el-tag>
+ <el-tag size="medium" type="info" v-if="!scope.row.enableRemoveNoneReader && !scope.row.enableDisableNoneReader">涓嶅仛澶勭悊</el-tag>
</div>
</template>
</el-table-column>
@@ -87,7 +88,7 @@
<el-divider direction="vertical"></el-divider>
<el-button size="medium" icon="el-icon-switch-button" type="text" v-if="scope.row.enable" @click="stop(scope.row)">鍋滅敤</el-button>
<el-divider direction="vertical"></el-divider>
- <el-button size="medium" icon="el-icon-check" type="text" :loading="startBtnLaoding" v-if="!scope.row.enable" @click="start(scope.row)">鍚敤</el-button>
+ <el-button size="medium" icon="el-icon-check" type="text" :loading="scope.row.startBtnLoading" v-if="!scope.row.enable" @click="start(scope.row)">鍚敤</el-button>
<el-divider v-if="!scope.row.enable" direction="vertical"></el-divider>
<el-button size="medium" icon="el-icon-delete" type="text" style="color: #f56c6c" @click="deleteStreamProxy(scope.row)">鍒犻櫎</el-button>
</template>
@@ -131,15 +132,14 @@
currentPage:1,
count:15,
total:0,
- getListLoading: false,
- startBtnLaoding: false
+ startBtnLoading: false
};
},
computed: {
},
mounted() {
this.initData();
- this.updateLooper = setInterval(this.initData, 1000);
+ this.startUpdateList()
},
destroyed() {
this.$destroy('videojs');
@@ -149,6 +149,12 @@
initData: function() {
this.getStreamProxyList();
},
+ stopUpdateList: function (){
+ window.clearInterval(this.updateLooper)
+ },
+ startUpdateList: function (){
+ this.updateLooper = setInterval(this.initData, 1000);
+ },
currentChange: function(val){
this.currentPage = val;
this.getStreamProxyList();
@@ -159,7 +165,6 @@
},
getStreamProxyList: function() {
let that = this;
- this.getListLoading = true;
this.$axios({
method: 'get',
url:`/api/proxy/list`,
@@ -168,31 +173,31 @@
count: that.count
}
}).then(function (res) {
- that.total = res.data.total;
- that.streamProxyList = res.data.list;
- that.getListLoading = false;
+ if (res.data.code === 0) {
+ that.total = res.data.data.total;
+ for (let i = 0; i < res.data.data.list.length; i++) {
+ res.data.data.list[i]["startBtnLoading"] = false;
+ }
+ that.streamProxyList = res.data.data.list;
+ }
}).catch(function (error) {
console.log(error);
- that.getListLoading = false;
});
},
addStreamProxy: function(){
this.$refs.streamProxyEdit.openDialog(null, this.initData)
},
addOnvif: function(){
- this.getListLoading = true;
- this.getListLoading = true;
this.$axios({
method: 'get',
url:`/api/onvif/search?timeout=3000`,
}).then((res) =>{
- this.getListLoading = false;
- if (res.data.code == 0 ){
+ if (res.data.code === 0 ){
if (res.data.data.length > 0) {
this.$refs.onvifEdit.openDialog(res.data.data, (url)=>{
if (url != null) {
this.$refs.onvifEdit.close();
- this.$refs.streamProxyEdit.openDialog({type: "default", url: url, src_url: url}, this.initData())
+ this.$refs.streamProxyEdit.openDialog({type: "default", url: url, srcUrl: url}, this.initData())
}
})
}else {
@@ -203,7 +208,6 @@
}
}).catch((error)=> {
- this.getListLoading = false;
this.$message.error(error.response.data.msg);
});
@@ -212,17 +216,15 @@
},
play: function(row){
let that = this;
- this.getListLoading = true;
this.$axios({
method: 'get',
- url:`/api/media/stream_info_by_app_and_stream`,
+ url:`/api/push/getPlayUrl`,
params: {
app: row.app,
stream: row.stream,
mediaServerId: row.mediaServerId
}
}).then(function (res) {
- that.getListLoading = false;
if (res.data.code === 0) {
that.$refs.devicePlayer.openDialog("streamPlay", null, null, {
streamInfo: res.data.data,
@@ -238,32 +240,34 @@
}).catch(function (error) {
console.log(error);
- that.getListLoading = false;
});
},
deleteStreamProxy: function(row){
let that = this;
- this.getListLoading = true;
- 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;
- });
+ this.$confirm('纭畾鍒犻櫎姝や唬鐞嗗悧锛�', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ that.$axios({
+ method:"delete",
+ url:"/api/proxy/del",
+ params:{
+ app: row.app,
+ stream: row.stream
+ }
+ }).then((res)=>{
+ that.initData()
+ }).catch(function (error) {
+ console.log(error);
+ });
+ }).catch(() => {
+ });
},
start: function(row){
- let that = this;
- this.getListLoading = true;
- this.startBtnLaoding = true;
+ this.stopUpdateList()
+ this.$set(row, 'startBtnLoading', true)
this.$axios({
method: 'get',
url:`/api/proxy/start`,
@@ -271,28 +275,31 @@
app: row.app,
stream: row.stream
}
- }).then(function (res) {
- that.getListLoading = false;
- that.startBtnLaoding = false;
- if (res.data == "success"){
- that.initData()
+ }).then((res)=> {
+ if (res.data.code === 0){
+ this.initData()
}else {
- that.$message({
+ this.$message({
showClose: true,
- message: "淇濆瓨澶辫触锛岃妫�鏌ュ湴鍧�鏄惁鍙敤锛�",
+ message: "鍚姩澶辫触锛岃妫�鏌ュ湴鍧�鏄惁鍙敤锛�",
type: "error",
});
}
-
- }).catch(function (error) {
+ this.$set(row, 'startBtnLoading', false)
+ this.startUpdateList()
+ }).catch((error)=> {
console.log(error);
- that.getListLoading = false;
- that.startBtnLaoding = false;
+ this.$message({
+ showClose: true,
+ message: "鍚姩澶辫触锛岃妫�鏌ュ湴鍧�鏄惁鍙敤锛�",
+ type: "error",
+ });
+ this.$set(row, 'startBtnLoading', false)
+ this.startUpdateList()
});
},
stop: function(row){
let that = this;
- this.getListLoading = true;
this.$axios({
method: 'get',
url:`/api/proxy/stop`,
@@ -301,11 +308,9 @@
stream: row.stream
}
}).then(function (res) {
- that.getListLoading = false;
that.initData()
}).catch(function (error) {
console.log(error);
- that.getListLoading = false;
});
},
refresh: function (){
--
Gitblit v1.8.0