From 21506440d22a2f77d4bbeb4bb646a27b03bb9022 Mon Sep 17 00:00:00 2001 From: mrjackwang <30337754+mrjackwang@users.noreply.github.com> Date: 星期一, 07 三月 2022 09:01:14 +0800 Subject: [PATCH] Merge branch 'wvp-28181-2.0' into wvp-28181-2.0 --- web_src/src/components/dialog/StreamProxyEdit.vue | 169 ++++++++++++++++++++++++++++++++------------------------ 1 files changed, 97 insertions(+), 72 deletions(-) diff --git a/web_src/src/components/dialog/StreamProxyEdit.vue b/web_src/src/components/dialog/StreamProxyEdit.vue index f558ed6..470e12e 100644 --- a/web_src/src/components/dialog/StreamProxyEdit.vue +++ b/web_src/src/components/dialog/StreamProxyEdit.vue @@ -36,8 +36,23 @@ <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>--> @@ -68,6 +83,7 @@ <el-option label="缁勬挱" value="2"></el-option> </el-select> </el-form-item> + <el-form-item label="鍥芥爣骞冲彴"> <el-select v-model="proxyParam.platformGbId" @@ -89,6 +105,7 @@ <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> @@ -106,61 +123,28 @@ </template> <script> +import MediaServer from './../service/MediaServer' + export default { name: "streamProxyEdit", props: {}, computed: {}, created() {}, data() { - // var deviceGBIdRules = async (rule, value, callback) => { - // console.log(value); - // if (value === "") { - // callback(new Error("璇疯緭鍏ヨ澶囧浗鏍囩紪鍙�")); - // } else { - // var exit = await this.deviceGBIdExit(value); - // console.log(exit); - // console.log(exit == "true"); - // console.log(exit === "true"); - // if (exit) { - // callback(new Error("璁惧鍥芥爣缂栧彿宸插瓨鍦�")); - // } else { - // callback(); - // } - // } - // }; return { listChangeCallback: null, showDialog: false, isLoging: false, dialogLoading: false, onSubmit_text: "绔嬪嵆鍒涘缓", - platformList: [{ - id: 1, - enable: true, - name: "141", - serverGBId: "34020000002000000001", - serverGBDomain: "3402000000", - serverIP: "192.168.1.141", - serverPort: 15060, - deviceGBId: "34020000002000000001", - deviceIp: "192.168.1.20", - devicePort: "5060", - username: "34020000002000000001", - password: "12345678", - expires: "300", - keepTimeout: "60", - transport: "UDP", - characterSet: "GB2312", - ptz: false, - rtcp: false, - status: true, - }], + 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, @@ -169,8 +153,11 @@ enable: true, enable_hls: true, enable_mp4: false, + enable_remove_none_reader: false, platformGbId: null, + mediaServerId: null, }, + mediaServerList:{}, ffmpegCmdList:{}, rules: { @@ -182,6 +169,7 @@ timeout_ms: [{ required: true, message: "璇疯緭鍏Fmpeg鎺ㄦ祦鎴愬姛瓒呮椂鏃堕棿", trigger: "blur" }], ffmpeg_cmd_key: [{ required: false, message: "璇疯緭鍏Fmpeg鍛戒护鍙傛暟妯℃澘锛堝彲閫夛級", trigger: "blur" }], }, + isUpdate: false, }; }, methods: { @@ -189,57 +177,94 @@ this.showDialog = true; this.listChangeCallback = callback; if (proxyParam != null) { + this.isUpdate=true this.proxyParam = proxyParam; } let that = this; - this.$axios({ method: 'get', - url:`/api/platform/query/10000/0` + url:`/api/platform/query/10000/1` }).then(function (res) { that.platformList = res.data.list; }).catch(function (error) { console.log(error); }); - this.$axios({ - method: 'get', - url:`/api/proxy/ffmpeg_cmd/list` - }).then(function (res) { - that.ffmpegCmdList = res.data.data; - }).catch(function (error) { - console.log(error); - }); + this.mediaServer.getOnlineMediaServerList((data)=>{ + this.mediaServerList = data.data; + this.proxyParam.mediaServerId = this.mediaServerList[0].id + }) + }, + 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; + }).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, - message: res.data.msg, - type: "success", - }); - that.showDialog = false; - if (that.listChangeCallback != null) { - that.listChangeCallback(); - that.dialogLoading = false; + if(this.isUpdate){ + that.$axios({ + method: 'post', + url:`/api/proxy/update`, + data: that.proxyParam + }).then(function (res) { + that.dialogLoading = false; + if (typeof (res.data.code) != "undefined" && res.data.code === 0) { + that.$message({ + showClose: true, + message: res.data.msg, + type: "success", + }); + that.showDialog = false; + if (that.listChangeCallback != null) { + that.listChangeCallback(); + that.dialogLoading = false; + } } - } - }).catch(function (error) { - console.log(error); - this.dialogLoading = false; - }); + }).catch(function (error) { + console.log(error); + this.dialogLoading = false; + }); + }else{ + 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, + message: res.data.msg, + type: "success", + }); + 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(); -- Gitblit v1.8.0