From 1245ae7874fd97c70ec6048f4d90ee70831d17ba Mon Sep 17 00:00:00 2001
From: PengOu <595466820@qq.com>
Date: 星期二, 30 一月 2024 10:59:25 +0800
Subject: [PATCH] Fix 推流列表-> 添加通道 报错: 错误: 字段 "gbStreamId" 不存在 ,改为:gb_stream_id 自测试通过
---
web_src/src/components/dialog/StreamProxyEdit.vue | 215 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 157 insertions(+), 58 deletions(-)
diff --git a/web_src/src/components/dialog/StreamProxyEdit.vue b/web_src/src/components/dialog/StreamProxyEdit.vue
old mode 100644
new mode 100755
index bdde9db..7ed893a
--- 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"
@@ -33,21 +33,47 @@
<el-form-item label="鎷夋祦鍦板潃" prop="url" v-if="proxyParam.type=='default'">
<el-input v-model="proxyParam.url" clearable></el-input>
</el-form-item>
- <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 label="鎷夋祦鍦板潃" prop="srcUrl" v-if="proxyParam.type=='ffmpeg'">
+ <el-input v-model="proxyParam.srcUrl" clearable></el-input>
</el-form-item>
- <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 label="瓒呮椂鏃堕棿:姣" prop="timeoutMs" v-if="proxyParam.type=='ffmpeg'">
+ <el-input v-model="proxyParam.timeoutMs" clearable></el-input>
</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-form-item label="鑺傜偣閫夋嫨" prop="rtpType">
+ <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="ffmpegCmdKey" v-if="proxyParam.type=='ffmpeg'">
+ <el-select
+ v-model="proxyParam.ffmpegCmdKey"
+ 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>
</el-form-item>
- <el-form-item label="鎷夋祦鏂瑰紡" prop="rtp_type" v-if="proxyParam.type=='default'">
+ <el-form-item label="鎷夋祦鏂瑰紡" prop="rtpType" v-if="proxyParam.type=='default'">
<el-select
- v-model="proxyParam.rtp_type"
+ v-model="proxyParam.rtpType"
style="width: 100%"
placeholder="璇烽�夋嫨鎷夋祦鏂瑰紡"
>
@@ -56,20 +82,36 @@
<el-option label="缁勬挱" value="2"></el-option>
</el-select>
</el-form-item>
+
+ <el-form-item label="鏃犱汉瑙傜湅" prop="rtpType" >
+ <el-radio v-model="proxyParam.noneReader" label="0">涓嶅仛澶勭悊</el-radio>
+ <el-radio v-model="proxyParam.noneReader" label="1">鍋滅敤</el-radio>
+ <el-radio v-model="proxyParam.noneReader" label="2">绉婚櫎</el-radio>
+<!-- <el-select-->
+<!-- @change="noneReaderHandler"-->
+<!-- v-model="proxyParam.noneReader"-->
+<!-- style="width: 100%"-->
+<!-- placeholder="璇烽�夋嫨鏃犱汉瑙傜湅鐨勫鐞嗘柟寮�"-->
+<!-- >-->
+<!-- <el-option label="涓嶅仛澶勭悊" value="0"></el-option>-->
+<!-- <el-option label="鍋滅敤" value="1"></el-option>-->
+<!-- <el-option label="绉婚櫎" value="2"></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.enableAudio" ></el-checkbox>
+ <el-checkbox label="褰曞埗" v-model="proxyParam.enableMp4" ></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>
-
+
</el-form-item>
</el-form>
</div>
@@ -78,6 +120,8 @@
</template>
<script>
+import MediaServer from './../service/MediaServer'
+
export default {
name: "streamProxyEdit",
props: {},
@@ -104,31 +148,41 @@
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:1935/livetv/hunantv",
- src_url: null,
- timeout_ms: null,
- ffmpeg_cmd_key: null,
+ url: "",
+ srcUrl: null,
+ timeoutMs: null,
+ ffmpegCmdKey: null,
gbId: null,
- rtp_type: null,
+ rtpType: null,
enable: true,
- enable_hls: true,
- enable_mp4: false,
+ enableAudio: true,
+ enableMp4: false,
+ noneReader: null,
+ enableRemoveNoneReader: false,
+ enableDisableNoneReader: false,
+ platformGbId: null,
+ mediaServerId: null,
},
-
+ mediaServerList:{},
+ ffmpegCmdList:{},
+
rules: {
name: [{ required: true, message: "璇疯緭鍏ュ悕绉�", trigger: "blur" }],
app: [{ required: true, message: "璇疯緭鍏ュ簲鐢ㄥ悕", trigger: "blur" }],
stream: [{ required: true, message: "璇疯緭鍏ユ祦ID", trigger: "blur" }],
url: [{ required: true, message: "璇疯緭鍏ヨ浠g悊鐨勬祦", trigger: "blur" }],
- src_url: [{ required: true, message: "璇疯緭鍏ヨ浠g悊鐨勬祦", trigger: "blur" }],
- timeout_ms: [{ required: true, message: "璇疯緭鍏Fmpeg鎺ㄦ祦鎴愬姛瓒呮椂鏃堕棿", trigger: "blur" }],
- ffmpeg_cmd_key: [{ required: false, message: "璇疯緭鍏Fmpeg鍛戒护鍙傛暟妯℃澘锛堝彲閫夛級", trigger: "blur" }],
+ srcUrl: [{ required: true, message: "璇疯緭鍏ヨ浠g悊鐨勬祦", trigger: "blur" }],
+ timeoutMs: [{ required: true, message: "璇疯緭鍏Fmpeg鎺ㄦ祦鎴愬姛瓒呮椂鏃堕棿", trigger: "blur" }],
+ ffmpegCmdKey: [{ required: false, message: "璇疯緭鍏Fmpeg鍛戒护鍙傛暟妯℃澘锛堝彲閫夛級", trigger: "blur" }],
},
};
},
@@ -138,58 +192,103 @@
this.listChangeCallback = callback;
if (proxyParam != null) {
this.proxyParam = proxyParam;
- this.onSubmit_text = "淇濆瓨";
- } else {
- this.onSubmit_text = "绔嬪嵆鍒涘缓";
+ this.proxyParam.noneReader = null;
}
+
+ 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()
+ })
},
- onSubmit: function () {
- console.log("onSubmit");
- var that = this;
- that.$axios
- .post(`/api/proxy/save`, that.proxyParam)
- .then(function (res) {
- console.log(res);
- console.log(res.data == "success");
- if (res.data == "success") {
- that.$message({
- showClose: true,
- message: "淇濆瓨鎴愬姛",
- type: "success",
- });
- that.showDialog = false;
- if (that.listChangeCallback != null) {
- that.listChangeCallback();
- }
+ 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
}
- })
- .catch(function (error) {
+ }).then(function (res) {
+ that.ffmpegCmdList = res.data.data;
+ that.proxyParam.ffmpegCmdKey = Object.keys(res.data.data)[0];
+ }).catch(function (error) {
console.log(error);
});
+ }
+
+ },
+ onSubmit: function () {
+ this.dialogLoading = true;
+ this.noneReaderHandler();
+ this.$axios({
+ method: 'post',
+ url:`/api/proxy/save`,
+ data: this.proxyParam
+ }).then((res)=> {
+ this.dialogLoading = false;
+ if (typeof (res.data.code) != "undefined" && res.data.code === 0) {
+ this.$message({
+ showClose: true,
+ message: res.data.msg,
+ type: "success",
+ });
+ this.showDialog = false;
+ if (this.listChangeCallback != null) {
+ this.listChangeCallback();
+ this.dialogLoading = false;
+ }
+ }
+ }).catch((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) {
var result = false;
var that = this;
- await that.$axios
- .post(`/api/platform/exit/${deviceGbId}`)
- .then(function (res) {
- result = res.data;
- })
- .catch(function (error) {
- console.log(error);
- });
+ await that.$axios({
+ method: 'get',
+ url:`/api/platform/exit/${deviceGbId}`
+ }).then(function (res) {
+ result = res.data;
+ }).catch(function (error) {
+ console.log(error);
+ });
return result;
},
checkExpires: function() {
if (this.platform.enable && this.platform.expires == "0") {
this.platform.expires = "300";
}
- }
+ },
+ noneReaderHandler: function() {
+ if (this.proxyParam.noneReader === null || this.proxyParam.noneReader === "0") {
+ this.proxyParam.enableDisableNoneReader = false;
+ this.proxyParam.enableRemoveNoneReader = false;
+ }else if (this.proxyParam.noneReader === "1"){
+ this.proxyParam.enableDisableNoneReader = true;
+ this.proxyParam.enableRemoveNoneReader = false;
+ }else if (this.proxyParam.noneReader ==="2"){
+ this.proxyParam.enableDisableNoneReader = false;
+ this.proxyParam.enableRemoveNoneReader = true;
+ }
+ },
},
};
</script>
--
Gitblit v1.8.0