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/platformEdit.vue | 260 ++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 194 insertions(+), 66 deletions(-) diff --git a/web_src/src/components/dialog/platformEdit.vue b/web_src/src/components/dialog/platformEdit.vue old mode 100644 new mode 100755 index 1ee777d..0a75222 --- a/web_src/src/components/dialog/platformEdit.vue +++ b/web_src/src/components/dialog/platformEdit.vue @@ -17,7 +17,7 @@ <el-input v-model="platform.name"></el-input> </el-form-item> <el-form-item label="SIP鏈嶅姟鍥芥爣缂栫爜" prop="serverGBId"> - <el-input v-model="platform.serverGBId" clearable></el-input> + <el-input v-model="platform.serverGBId" clearable @input="serverGBIdChange"></el-input> </el-form-item> <el-form-item label="SIP鏈嶅姟鍥芥爣鍩�" prop="serverGBDomain"> <el-input v-model="platform.serverGBDomain" clearable></el-input> @@ -29,23 +29,36 @@ <el-input v-model="platform.serverPort" clearable type="number"></el-input> </el-form-item> <el-form-item label="璁惧鍥芥爣缂栧彿" prop="deviceGBId"> - <el-input v-model="platform.deviceGBId" clearable></el-input> + <el-input v-model="platform.deviceGBId" clearable @input="deviceGBIdChange"></el-input> </el-form-item> <el-form-item label="鏈湴IP" prop="deviceIp"> - <el-input v-model="platform.deviceIp" :disabled="true"></el-input> + <el-select v-model="platform.deviceIp" placeholder="璇烽�夋嫨涓庝笂绾х浉閫氱殑缃戝崱" style="width: 100%"> + <el-option + v-for="ip in deviceIps" + :key="ip" + :label="ip" + :value="ip"> + </el-option> + </el-select> </el-form-item> <el-form-item label="鏈湴绔彛" prop="devicePort"> <el-input v-model="platform.devicePort" :disabled="true" type="number"></el-input> + </el-form-item> + <el-form-item label="SDP鍙戞祦IP" prop="sendStreamIp"> + <el-input v-model="platform.sendStreamIp"></el-input> </el-form-item> </el-form> </el-col> <el-col :span="12"> <el-form ref="platform2" :rules="rules" :model="platform" label-width="160px"> + <el-form-item label="琛屾斂鍖哄垝" prop="administrativeDivision"> + <el-input v-model="platform.administrativeDivision" clearable></el-input> + </el-form-item> <el-form-item label="SIP璁よ瘉鐢ㄦ埛鍚�" prop="username"> <el-input v-model="platform.username"></el-input> </el-form-item> <el-form-item label="SIP璁よ瘉瀵嗙爜" prop="password"> - <el-input v-model="platform.password" ></el-input> + <el-input v-model="platform.password"></el-input> </el-form-item> <el-form-item label="娉ㄥ唽鍛ㄦ湡(绉�)" prop="expires"> <el-input v-model="platform.expires"></el-input> @@ -63,6 +76,18 @@ <el-option label="TCP" value="TCP"></el-option> </el-select> </el-form-item> + <el-form-item label="鐩綍鍒嗙粍" prop="catalogGroup"> + <el-select + v-model="platform.catalogGroup" + style="width: 100%" + placeholder="璇烽�夋嫨鐩綍鍒嗙粍" + > + <el-option label="1" value="1"></el-option> + <el-option label="2" value="2"></el-option> + <el-option label="4" value="4"></el-option> + <el-option label="8" value="8"></el-option> + </el-select> + </el-form-item> <el-form-item label="瀛楃闆�" prop="characterSet"> <el-select v-model="platform.characterSet" @@ -75,13 +100,17 @@ </el-form-item> <el-form-item label="鍏朵粬閫夐」"> <el-checkbox label="鍚敤" v-model="platform.enable" @change="checkExpires"></el-checkbox> - <el-checkbox label="浜戝彴鎺у埗" v-model="platform.ptz"></el-checkbox> - <el-checkbox label="RTCP淇濇椿" v-model="platform.rtcp"></el-checkbox> + <!-- <el-checkbox label="浜戝彴鎺у埗" v-model="platform.ptz"></el-checkbox>--> + <el-checkbox label="鎷夎捣鎺ㄦ祦" v-model="platform.startOfflinePush"></el-checkbox> + <el-checkbox label="RTCP淇濇椿" v-model="platform.rtcp" @change="rtcpCheckBoxChange"></el-checkbox> + <el-checkbox label="娑堟伅閫氶亾" v-model="platform.asMessageChannel"></el-checkbox> + <el-checkbox label="鎺ㄩ�侀�氶亾" v-model="platform.autoPushChannel"></el-checkbox> </el-form-item> <el-form-item> <el-button type="primary" @click="onSubmit">{{ - onSubmit_text - }}</el-button> + onSubmit_text + }} + </el-button> <el-button @click="close">鍙栨秷</el-button> </el-form-item> </el-form> @@ -97,7 +126,6 @@ name: "platformEdit", props: {}, computed: {}, - created() {}, data() { var deviceGBIdRules = async (rule, value, callback) => { console.log(value); @@ -117,12 +145,15 @@ showDialog: false, isLoging: false, onSubmit_text: "绔嬪嵆鍒涘缓", + saveUrl: "/api/platform/save", platform: { id: null, enable: true, ptz: true, rtcp: false, + asMessageChannel: false, + autoPushChannel: false, name: null, serverGBId: null, serverGBDomain: null, @@ -133,104 +164,199 @@ devicePort: null, username: null, password: null, - expires: 300, + expires: 3600, keepTimeout: 60, transport: "UDP", characterSet: "GB2312", + startOfflinePush: false, + catalogGroup: 1, + administrativeDivision: "", + sendStreamIp: null, }, + deviceIps: [], // 瀛樺偍鐢ㄦ埛璁惧IP鏁扮粍 rules: { - name: [{ required: true, message: "璇疯緭鍏ュ钩鍙板悕绉�", trigger: "blur" }], + name: [{required: true, message: "璇疯緭鍏ュ钩鍙板悕绉�", trigger: "blur"}], serverGBId: [ - { required: true, message: "璇疯緭鍏IP鏈嶅姟鍥芥爣缂栫爜", trigger: "blur" }, + {required: true, message: "璇疯緭鍏IP鏈嶅姟鍥芥爣缂栫爜", trigger: "blur"}, ], serverGBDomain: [ - { required: true, message: "璇疯緭鍏IP鏈嶅姟鍥芥爣鍩�", trigger: "blur" }, + {required: true, message: "璇疯緭鍏IP鏈嶅姟鍥芥爣鍩�", trigger: "blur"}, ], - serverIP: [{ required: true, message: "璇疯緭鍏IP鏈嶅姟IP", trigger: "blur" }], - serverPort: [{ required: true, message: "璇疯緭鍏IP鏈嶅姟绔彛", trigger: "blur" }], - deviceGBId: [{ validator: deviceGBIdRules, trigger: "blur" }], - username: [{ required: false, message: "璇疯緭鍏IP璁よ瘉鐢ㄦ埛鍚�", trigger: "blur" }], - password: [{ required: false, message: "璇疯緭鍏IP璁よ瘉瀵嗙爜", trigger: "blur" }], - expires: [{ required: true, message: "璇疯緭鍏ユ敞鍐屽懆鏈�", trigger: "blur" }], - keepTimeout: [{ required: true, message: "璇疯緭鍏ュ績璺冲懆鏈�", trigger: "blur" }], - transport: [{ required: true, message: "璇烽�夋嫨淇′护浼犺緭", trigger: "blur" }], - characterSet: [{ required: true, message: "璇烽�夋嫨缂栫爜瀛楃闆�", trigger: "blur" }], + serverIP: [{required: true, message: "璇疯緭鍏IP鏈嶅姟IP", trigger: "blur"}], + serverPort: [{required: true, message: "璇疯緭鍏IP鏈嶅姟绔彛", trigger: "blur"}], + deviceGBId: [{validator: deviceGBIdRules, trigger: "blur"}], + username: [{required: false, message: "璇疯緭鍏IP璁よ瘉鐢ㄦ埛鍚�", trigger: "blur"}], + password: [{required: false, message: "璇疯緭鍏IP璁よ瘉瀵嗙爜", trigger: "blur"}], + expires: [{required: true, message: "璇疯緭鍏ユ敞鍐屽懆鏈�", trigger: "blur"}], + keepTimeout: [{required: true, message: "璇疯緭鍏ュ績璺冲懆鏈�", trigger: "blur"}], + transport: [{required: true, message: "璇烽�夋嫨淇′护浼犺緭", trigger: "blur"}], + characterSet: [{required: true, message: "璇烽�夋嫨缂栫爜瀛楃闆�", trigger: "blur"}], + deviceIp: [{required: true, message: "璇烽�夋嫨鏈湴IP", trigger: "blur"}], }, }; }, methods: { openDialog: function (platform, callback) { var that = this; + this.$axios({ + method: 'get', + url: `/api/platform/server_config` + }).then(function (res) { + if (platform == null) { + if (res.data.code === 0) { + that.platform.deviceGBId = res.data.data.username; + that.deviceIps = res.data.data.deviceIp.split(','); + that.platform.deviceIp = that.deviceIps[0]; + that.platform.devicePort = res.data.data.devicePort; + that.platform.username = res.data.data.username; + that.platform.password = res.data.data.password; + that.platform.sendStreamIp = res.data.data.sendStreamIp; + that.platform.administrativeDivision = res.data.data.username.substr(0, 6); + } + } else { + that.deviceIps = res.data.data.deviceIp.split(','); + } + }).catch(function (error) { + console.log(error); + }); if (platform == null) { this.onSubmit_text = "绔嬪嵆鍒涘缓"; - this.$axios({ - method: 'get', - url:`/api/platform/server_config` - }).then(function (res) { - console.log(res); - that.platform.deviceGBId = res.data.username; - that.platform.deviceIp = res.data.deviceIp; - that.platform.devicePort = res.data.devicePort; - that.platform.username = res.data.username; - that.platform.password = res.data.password; - }).catch(function (error) { - console.log(error); - }); - }else { - this.platform = platform; + this.saveUrl = "/api/platform/add"; + } else { + this.platform.id = platform.id; + this.platform.enable = platform.enable; + this.platform.ptz = platform.ptz; + this.platform.rtcp = platform.rtcp; + this.platform.asMessageChannel = platform.asMessageChannel; + this.platform.autoPushChannel = platform.autoPushChannel; + this.platform.name = platform.name; + this.platform.serverGBId = platform.serverGBId; + this.platform.serverGBDomain = platform.serverGBDomain; + this.platform.serverIP = platform.serverIP; + this.platform.serverPort = platform.serverPort; + this.platform.deviceGBId = platform.deviceGBId; + this.platform.deviceIp = platform.deviceIp; + this.platform.devicePort = platform.devicePort; + this.platform.username = platform.username; + this.platform.password = platform.password; + this.platform.expires = platform.expires; + this.platform.keepTimeout = platform.keepTimeout; + this.platform.transport = platform.transport; + this.platform.characterSet = platform.characterSet; + this.platform.catalogId = platform.catalogId; + this.platform.startOfflinePush = platform.startOfflinePush; + this.platform.catalogGroup = platform.catalogGroup; + this.platform.sendStreamIp = platform.sendStreamIp; + this.platform.administrativeDivision = platform.administrativeDivision; this.onSubmit_text = "淇濆瓨"; + this.saveUrl = "/api/platform/save"; } this.showDialog = true; this.listChangeCallback = callback; }, + serverGBIdChange: function () { + if (this.platform.serverGBId.length > 10) { + this.platform.serverGBDomain = this.platform.serverGBId.substr(0, 10); + } + }, + deviceGBIdChange: function () { + + this.platform.username = this.platform.deviceGBId; + if (this.platform.administrativeDivision == null) { + this.platform.administrativeDivision = this.platform.deviceGBId.substr(0, 6); + } + }, onSubmit: function () { - console.log("onSubmit"); - var that = this; - that.$axios({ + this.saveForm() + }, + saveForm: function () { + this.$axios({ method: 'post', - url:`/api/platform/save`, - data: that.platform - }).then(function (res) { - if (res.data == "success") { - that.$message({ - showClose: true, - message: "淇濆瓨鎴愬姛", - type: "success", - }); - that.showDialog = false; - if (that.listChangeCallback != null) { - that.listChangeCallback(); - } + url: this.saveUrl, + data: this.platform + }).then((res) => { + if (res.data.code === 0) { + this.$message({ + showClose: true, + message: "淇濆瓨鎴愬姛", + type: "success", + }); + this.showDialog = false; + if (this.listChangeCallback != null) { + this.listChangeCallback(); } - }).catch(function (error) { - console.log(error); - }); + } else { + this.$message({ + showClose: true, + message: res.data.msg, + type: "error", + }); + } + }).catch((error) => { + console.log(error); + }); }, close: function () { - console.log("鍏抽棴娣诲姞瑙嗛骞冲彴"); this.showDialog = false; this.$refs.platform1.resetFields(); this.$refs.platform2.resetFields(); + this.platform = { + id: null, + enable: true, + ptz: true, + rtcp: false, + asMessageChannel: false, + autoPushChannel: false, + name: null, + serverGBId: null, + administrativeDivision: null, + serverGBDomain: null, + serverIP: null, + serverPort: null, + deviceGBId: null, + deviceIp: null, + devicePort: null, + username: null, + password: null, + expires: 3600, + keepTimeout: 60, + transport: "UDP", + characterSet: "GB2312", + startOfflinePush: false, + catalogGroup: 1, + } }, deviceGBIdExit: async function (deviceGbId) { var result = false; var that = this; await that.$axios({ - method: 'post', - url:`/api/platform/exit/${deviceGbId}`}) + method: 'get', + url: `/api/platform/exit/${deviceGbId}` + }) .then(function (res) { - result = res.data; + if (res.data.code === 0) { + result = res.data.data; + } }) .catch(function (error) { console.log(error); }); return result; }, - checkExpires: function() { - if (this.platform.enable && this.platform.expires == "0") { - this.platform.expires = "300"; + checkExpires: function () { + if (this.platform.enable && this.platform.expires === "0") { + this.platform.expires = "3600"; } - } + }, + rtcpCheckBoxChange: function (result) { + if (result) { + this.$message({ + showClose: true, + message: "寮�鍚疪TCP淇濇椿闇�瑕佷笂绾у钩鍙版敮鎸侊紝鍙互閬垮厤鏃犳晥鎺ㄦ祦", + type: "warning", + }); + } + }, }, }; </script> @@ -243,10 +369,12 @@ appearance: none; margin: 0; } + /* 鐏嫄 */ -input{ - -moz-appearance:textfield; +input { + -moz-appearance: textfield; } + .control-wrapper-not-used { position: relative; width: 6.25rem; -- Gitblit v1.8.0