From c0e5478a847ff095e2386562de6991cff9c5e949 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 23 八月 2022 08:45:38 +0800
Subject: [PATCH] Merge branch 'wvp-28181-2.0'
---
web_src/src/components/dialog/StreamProxyEdit.vue | 108 +++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 98 insertions(+), 10 deletions(-)
diff --git a/web_src/src/components/dialog/StreamProxyEdit.vue b/web_src/src/components/dialog/StreamProxyEdit.vue
index 66f63ad..ac209db 100644
--- a/web_src/src/components/dialog/StreamProxyEdit.vue
+++ b/web_src/src/components/dialog/StreamProxyEdit.vue
@@ -10,7 +10,7 @@
@close="close()"
>
<div id="shared" style="margin-top: 1rem;margin-right: 100px;">
- <el-form ref="streamProxy" :rules="rules" :model="proxyParam" label-width="140px">
+ <el-form ref="streamProxy" :rules="rules" :model="proxyParam" label-width="140px" >
<el-form-item label="绫诲瀷" prop="type">
<el-select
v-model="proxyParam.type"
@@ -36,11 +36,38 @@
<el-form-item label="鎷夋祦鍦板潃" prop="src_url" v-if="proxyParam.type=='ffmpeg'">
<el-input v-model="proxyParam.src_url" clearable></el-input>
</el-form-item>
- <el-form-item label="瓒呮椂鏃堕棿" prop="timeout_ms" v-if="proxyParam.type=='ffmpeg'">
+ <el-form-item label="瓒呮椂鏃堕棿:姣" prop="timeout_ms" v-if="proxyParam.type=='ffmpeg'">
<el-input v-model="proxyParam.timeout_ms" clearable></el-input>
</el-form-item>
+ <el-form-item label="鑺傜偣閫夋嫨" prop="rtp_type">
+ <el-select
+ v-model="proxyParam.mediaServerId"
+ @change="mediaServerIdChange"
+ style="width: 100%"
+ placeholder="璇烽�夋嫨鎷夋祦鑺傜偣"
+ >
+ <el-option
+ v-for="item in mediaServerList"
+ :key="item.id"
+ :label="item.id"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
<el-form-item label="FFmpeg鍛戒护妯℃澘" prop="ffmpeg_cmd_key" v-if="proxyParam.type=='ffmpeg'">
- <el-input v-model="proxyParam.ffmpeg_cmd_key" clearable></el-input>
+<!-- <el-input v-model="proxyParam.ffmpeg_cmd_key" clearable></el-input>-->
+ <el-select
+ v-model="proxyParam.ffmpeg_cmd_key"
+ style="width: 100%"
+ placeholder="璇烽�夋嫨FFmpeg鍛戒护妯℃澘"
+ >
+ <el-option
+ v-for="item in Object.keys(ffmpegCmdList)"
+ :key="item"
+ :label="ffmpegCmdList[item]"
+ :value="item">
+ </el-option>
+ </el-select>
</el-form-item>
<el-form-item label="鍥芥爣缂栫爜" prop="gbId">
<el-input v-model="proxyParam.gbId" placeholder="璁剧疆鍥芥爣缂栫爜鍙帹閫佸埌鍥芥爣" clearable></el-input>
@@ -56,17 +83,35 @@
<el-option label="缁勬挱" value="2"></el-option>
</el-select>
</el-form-item>
+
+ <el-form-item label="鍥芥爣骞冲彴">
+ <el-select
+ v-model="proxyParam.platformGbId"
+ style="width: 100%"
+ placeholder="璇烽�夋嫨鍥芥爣骞冲彴"
+ >
+ <el-option
+ v-for="item in platformList"
+ :key="item.name"
+ :label="item.name"
+ :value="item.serverGBId">
+ <span style="float: left">{{ item.name }}</span>
+ <span style="float: right; color: #8492a6; font-size: 13px">{{ item.serverGBId }}</span>
+ </el-option>
+ </el-select>
+ </el-form-item>
<el-form-item label="鍏朵粬閫夐」">
<div style="float: left;">
<el-checkbox label="鍚敤" v-model="proxyParam.enable" ></el-checkbox>
<el-checkbox label="杞琀LS" v-model="proxyParam.enable_hls" ></el-checkbox>
<el-checkbox label="MP4褰曞埗" v-model="proxyParam.enable_mp4" ></el-checkbox>
+ <el-checkbox label="鏃犱汉瑙傜湅鑷姩鍒犻櫎" v-model="proxyParam.enable_remove_none_reader" ></el-checkbox>
</div>
</el-form-item>
<el-form-item>
<div style="float: right;">
- <el-button type="primary" @click="onSubmit">{{onSubmit_text}}</el-button>
+ <el-button type="primary" @click="onSubmit" :loading="dialogLoading" >{{onSubmit_text}}</el-button>
<el-button @click="close">鍙栨秷</el-button>
</div>
@@ -78,6 +123,8 @@
</template>
<script>
+import MediaServer from './../service/MediaServer'
+
export default {
name: "streamProxyEdit",
props: {},
@@ -104,13 +151,16 @@
listChangeCallback: null,
showDialog: false,
isLoging: false,
+ dialogLoading: false,
onSubmit_text: "绔嬪嵆鍒涘缓",
+ platformList: [],
+ mediaServer: new MediaServer(),
proxyParam: {
name: null,
type: "default",
app: null,
stream: null,
- url: "rtmp://58.200.131.2/livetv/cctv5hd",
+ url: "",
src_url: null,
timeout_ms: null,
ffmpeg_cmd_key: null,
@@ -119,7 +169,12 @@
enable: true,
enable_hls: true,
enable_mp4: false,
+ enable_remove_none_reader: false,
+ platformGbId: null,
+ mediaServerId: null,
},
+ mediaServerList:{},
+ ffmpegCmdList:{},
rules: {
name: [{ required: true, message: "璇疯緭鍏ュ悕绉�", trigger: "blur" }],
@@ -138,19 +193,50 @@
this.listChangeCallback = callback;
if (proxyParam != null) {
this.proxyParam = proxyParam;
- this.onSubmit_text = "淇濆瓨";
- } else {
- this.onSubmit_text = "绔嬪嵆鍒涘缓";
}
+
+ let that = this;
+ this.$axios({
+ method: 'get',
+ url:`/api/platform/query/10000/1`
+ }).then(function (res) {
+ that.platformList = res.data.data.list;
+ }).catch(function (error) {
+ console.log(error);
+ });
+ this.mediaServer.getOnlineMediaServerList((data)=>{
+ this.mediaServerList = data.data;
+ this.proxyParam.mediaServerId = this.mediaServerList[0].id
+ this.mediaServerIdChange()
+ })
+ },
+ mediaServerIdChange:function (){
+ let that = this;
+ if (that.proxyParam.mediaServerId !== "auto"){
+ that.$axios({
+ method: 'get',
+ url:`/api/proxy/ffmpeg_cmd/list`,
+ params: {
+ mediaServerId: that.proxyParam.mediaServerId
+ }
+ }).then(function (res) {
+ that.ffmpegCmdList = res.data.data;
+ that.proxyParam.ffmpeg_cmd_key = Object.keys(res.data.data)[0];
+ }).catch(function (error) {
+ console.log(error);
+ });
+ }
+
},
onSubmit: function () {
- console.log("onSubmit");
+ this.dialogLoading = true;
var that = this;
that.$axios({
method: 'post',
url:`/api/proxy/save`,
data: that.proxyParam
}).then(function (res) {
+ that.dialogLoading = false;
if (typeof (res.data.code) != "undefined" && res.data.code === 0) {
that.$message({
showClose: true,
@@ -160,15 +246,17 @@
that.showDialog = false;
if (that.listChangeCallback != null) {
that.listChangeCallback();
+ that.dialogLoading = false;
}
}
}).catch(function (error) {
console.log(error);
+ this.dialogLoading = false;
});
},
close: function () {
- console.log("鍏抽棴娣诲姞瑙嗛骞冲彴");
this.showDialog = false;
+ this.dialogLoading = false;
this.$refs.streamProxy.resetFields();
},
deviceGBIdExit: async function (deviceGbId) {
--
Gitblit v1.8.0