From 9f16b5c553b479ea12fe368a7ecc748872ea8b98 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期四, 12 六月 2025 11:11:27 +0800 Subject: [PATCH] 修改配置文件 --- web_src/src/components/dialog/StreamProxyEdit.vue | 167 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 132 insertions(+), 35 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 1c0d3b9..7ed893a --- a/web_src/src/components/dialog/StreamProxyEdit.vue +++ b/web_src/src/components/dialog/StreamProxyEdit.vue @@ -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,11 +82,27 @@ <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> @@ -78,6 +120,8 @@ </template> <script> +import MediaServer from './../service/MediaServer' + export default { name: "streamProxyEdit", props: {}, @@ -106,30 +150,39 @@ 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", - 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" }], }, }; }, @@ -139,37 +192,69 @@ this.listChangeCallback = callback; if (proxyParam != null) { this.proxyParam = proxyParam; + 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() + }) + }, + 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.ffmpegCmdKey = 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({ + this.noneReaderHandler(); + this.$axios({ method: 'post', url:`/api/proxy/save`, - data: that.proxyParam - }).then(function (res) { - that.dialogLoading = false; + data: this.proxyParam + }).then((res)=> { + this.dialogLoading = false; if (typeof (res.data.code) != "undefined" && res.data.code === 0) { - that.$message({ + this.$message({ showClose: true, message: res.data.msg, type: "success", }); - that.showDialog = false; - if (that.listChangeCallback != null) { - that.listChangeCallback(); - that.dialogLoading = false; + this.showDialog = false; + if (this.listChangeCallback != null) { + this.listChangeCallback(); + this.dialogLoading = false; } } - }).catch(function (error) { + }).catch((error) =>{ console.log(error); this.dialogLoading = false; }); }, close: function () { - console.log("鍏抽棴娣诲姞瑙嗛骞冲彴"); this.showDialog = false; this.dialogLoading = false; this.$refs.streamProxy.resetFields(); @@ -178,7 +263,7 @@ var result = false; var that = this; await that.$axios({ - method: 'post', + method: 'get', url:`/api/platform/exit/${deviceGbId}` }).then(function (res) { result = res.data; @@ -191,7 +276,19 @@ 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