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/MediaServerEdit.vue |  158 +++++++++++++++++++++++++++++-----------------------
 1 files changed, 88 insertions(+), 70 deletions(-)

diff --git a/web_src/src/components/dialog/MediaServerEdit.vue b/web_src/src/components/dialog/MediaServerEdit.vue
old mode 100644
new mode 100755
index b67daf8..9d8491e
--- a/web_src/src/components/dialog/MediaServerEdit.vue
+++ b/web_src/src/components/dialog/MediaServerEdit.vue
@@ -12,13 +12,19 @@
       <div id="formStep" style="margin-top: 1rem; margin-right: 20px;">
         <el-form v-if="currentStep == 1" ref="mediaServerForm" :rules="rules" :model="mediaServerForm" label-width="140px" >
           <el-form-item label="IP" prop="ip">
-            <el-input v-model="mediaServerForm.ip"  placeholder="濯掍綋鏈嶅姟IP" clearable></el-input>
+            <el-input v-model="mediaServerForm.ip"  placeholder="濯掍綋鏈嶅姟IP" clearable  :disabled="mediaServerForm.defaultServer"></el-input>
           </el-form-item>
-          <el-form-item label="HTTP绔彛" prop="port">
-            <el-input v-model="mediaServerForm.httpPort" placeholder="濯掍綋鏈嶅姟HTTP绔彛"  clearable></el-input>
+          <el-form-item label="HTTP绔彛" prop="httpPort">
+            <el-input v-model="mediaServerForm.httpPort" placeholder="濯掍綋鏈嶅姟HTTP绔彛"  clearable :disabled="mediaServerForm.defaultServer"></el-input>
           </el-form-item>
           <el-form-item label="SECRET" prop="secret">
-            <el-input v-model="mediaServerForm.secret" placeholder="濯掍綋鏈嶅姟SECRET"  clearable></el-input>
+            <el-input v-model="mediaServerForm.secret" placeholder="濯掍綋鏈嶅姟SECRET"  clearable :disabled="mediaServerForm.defaultServer"></el-input>
+          </el-form-item>
+          <el-form-item label="绫诲瀷" prop="type">
+            <el-select v-model="mediaServerForm.type" style="float: left; width: 100%" >
+              <el-option key="zlm" label="ZLMediaKit" value="zlm"></el-option>
+              <el-option key="abl" label="ABLMediaServer" value="abl"></el-option>
+            </el-select>
           </el-form-item>
           <el-form-item>
             <div style="float: right;">
@@ -34,71 +40,69 @@
           <el-col :span="12">
             <el-form v-if="currentStep === 2 || currentStep === 3" ref="mediaServerForm1" :rules="rules" :model="mediaServerForm" label-width="140px" >
               <el-form-item label="IP" prop="ip">
-                <el-input  v-if="currentStep === 2" v-model="mediaServerForm.ip" disabled></el-input>
-                <el-input  v-if="currentStep === 3"  v-model="mediaServerForm.ip"></el-input>
+                <el-input  v-if="currentStep === 2" v-model="mediaServerForm.ip" disabled :disabled="mediaServerForm.defaultServer"></el-input>
+                <el-input  v-if="currentStep === 3"  v-model="mediaServerForm.ip" :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
-              <el-form-item label="HTTP绔彛" prop="port">
-                <el-input  v-if="currentStep === 2"  v-model="mediaServerForm.httpPort" disabled></el-input>
-                <el-input  v-if="currentStep === 3"  v-model="mediaServerForm.httpPort"></el-input>
-              </el-form-item>
-              <el-form-item label="SECRET" prop="secret">
-                <el-input v-if="currentStep === 2"  v-model="mediaServerForm.secret" disabled></el-input>
-                <el-input v-if="currentStep === 3"  v-model="mediaServerForm.secret"></el-input>
+              <el-form-item label="HTTP绔彛" prop="httpPort">
+                <el-input  v-if="currentStep === 2"  v-model="mediaServerForm.httpPort" disabled :disabled="mediaServerForm.defaultServer"></el-input>
+                <el-input  v-if="currentStep === 3"  v-model="mediaServerForm.httpPort" :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
               <el-form-item label="HOOK IP" prop="ip">
-                <el-input v-model="mediaServerForm.hookIp" placeholder="濯掍綋鏈嶅姟HOOK_IP" clearable></el-input>
+                <el-input v-model="mediaServerForm.hookIp" placeholder="濯掍綋鏈嶅姟HOOK_IP" clearable :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
               <el-form-item label="SDP IP" prop="ip">
-                <el-input v-model="mediaServerForm.sdpIp" placeholder="濯掍綋鏈嶅姟SDP_IP" clearable></el-input>
+                <el-input v-model="mediaServerForm.sdpIp" placeholder="濯掍綋鏈嶅姟SDP_IP" clearable :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
               <el-form-item label="娴両P" prop="ip">
-                <el-input v-model="mediaServerForm.streamIp" placeholder="濯掍綋鏈嶅姟娴両P" clearable></el-input>
+                <el-input v-model="mediaServerForm.streamIp" placeholder="濯掍綋鏈嶅姟娴両P" clearable :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
-              <el-form-item label="HTTPS PORT" prop="port">
-                <el-input v-model="mediaServerForm.httpSSlPort" placeholder="濯掍綋鏈嶅姟HTTPS_PORT" clearable></el-input>
+              <el-form-item label="HTTPS PORT" prop="httpSSlPort">
+                <el-input v-model="mediaServerForm.httpSSlPort" placeholder="濯掍綋鏈嶅姟HTTPS_PORT" clearable :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
-              <el-form-item label="RTSP PORT" prop="port">
-                <el-input v-model="mediaServerForm.rtspPort" placeholder="濯掍綋鏈嶅姟RTSP_PORT" clearable></el-input>
+              <el-form-item label="RTSP PORT" prop="rtspPort">
+                <el-input v-model="mediaServerForm.rtspPort" placeholder="濯掍綋鏈嶅姟RTSP_PORT" clearable :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
-              <el-form-item label="RTSPS PORT" prop="port">
-                <el-input v-model="mediaServerForm.rtspSSLPort" placeholder="濯掍綋鏈嶅姟RTSPS_PORT" clearable></el-input>
+              <el-form-item label="RTSPS PORT" prop="rtspSSLPort">
+                <el-input v-model="mediaServerForm.rtspSSLPort" placeholder="濯掍綋鏈嶅姟RTSPS_PORT" clearable :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
 
             </el-form>
           </el-col>
           <el-col :span="12">
             <el-form v-if="currentStep === 2 || currentStep === 3"  ref="mediaServerForm2" :rules="rules" :model="mediaServerForm" label-width="180px" >
-              <el-form-item label="RTMP PORT" prop="port">
-                <el-input v-model="mediaServerForm.rtmpPort" placeholder="濯掍綋鏈嶅姟RTMP_PORT" clearable></el-input>
+              <el-form-item label="RTMP PORT" prop="rtmpPort">
+                <el-input v-model="mediaServerForm.rtmpPort" placeholder="濯掍綋鏈嶅姟RTMP_PORT" clearable :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
-              <el-form-item label="RTMPS PORT" prop="port">
-                <el-input v-model="mediaServerForm.rtmpSSlPort" placeholder="濯掍綋鏈嶅姟RTMPS_PORT" clearable></el-input>
+              <el-form-item label="RTMPS PORT" prop="rtmpSSlPort">
+                <el-input v-model="mediaServerForm.rtmpSSlPort" placeholder="濯掍綋鏈嶅姟RTMPS_PORT" clearable :disabled="mediaServerForm.defaultServer"></el-input>
+              </el-form-item>
+              <el-form-item label="SECRET" prop="secret">
+                <el-input v-if="currentStep === 2"  v-model="mediaServerForm.secret" disabled :disabled="mediaServerForm.defaultServer"></el-input>
+                <el-input v-if="currentStep === 3"  v-model="mediaServerForm.secret" :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
               <el-form-item label="鑷姩閰嶇疆濯掍綋鏈嶅姟" >
-                <el-switch v-model="mediaServerForm.autoConfig"></el-switch>
+                <el-switch v-model="mediaServerForm.autoConfig" :disabled="mediaServerForm.defaultServer"></el-switch>
               </el-form-item>
               <el-form-item label="鏀舵祦绔彛妯″紡" >
-                <el-switch  active-text="澶氱鍙�" inactive-text="鍗曠鍙�" v-model="mediaServerForm.rtpEnable"></el-switch>
+                <el-switch  active-text="澶氱鍙�" inactive-text="鍗曠鍙�" @change="portRangeChange" v-model="mediaServerForm.rtpEnable" :disabled="mediaServerForm.defaultServer"></el-switch>
               </el-form-item>
 
-              <el-form-item v-if="!mediaServerForm.rtpEnable" label="鏀舵祦绔彛" prop="port">
-                <el-input v-model.number="mediaServerForm.rtpProxyPort" clearable></el-input>
+
+              <el-form-item v-if="!mediaServerForm.rtpEnable" label="鏀舵祦绔彛" prop="rtpProxyPort">
+                <el-input v-model.number="mediaServerForm.rtpProxyPort" clearable :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
-              <el-form-item v-if="mediaServerForm.rtpEnable" label="鏀舵祦绔彛" prop="port">
-                <el-input v-model="mediaServerForm.rtpPortRange1" placeholder="璧峰" clearable style="width: 100px" prop="port"></el-input>
+              <el-form-item v-if="mediaServerForm.rtpEnable" label="鏀舵祦绔彛" >
+                <el-input v-model="rtpPortRange1" placeholder="璧峰" @change="portRangeChange" clearable style="width: 100px" prop="rtpPortRange1" :disabled="mediaServerForm.defaultServer"></el-input>
                 -
-                <el-input v-model="mediaServerForm.rtpPortRange2" placeholder="缁堟"  clearable style="width: 100px" prop="port"></el-input>
+                <el-input v-model="rtpPortRange2" placeholder="缁堟" @change="portRangeChange" clearable style="width: 100px" prop="rtpPortRange2" :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
-              <el-form-item label="鎺ㄦ祦绔彛" prop="port">
-                <el-input v-model="mediaServerForm.sendRtpPortRange1" placeholder="璧峰" clearable style="width: 100px" prop="port"></el-input>
+              <el-form-item v-if="mediaServerForm.sendRtpEnable" label="鍙戞祦绔彛" >
+                <el-input v-model="sendRtpPortRange1" placeholder="璧峰" @change="portRangeChange" clearable style="width: 100px" prop="rtpPortRange1" :disabled="mediaServerForm.defaultServer"></el-input>
                 -
-                <el-input v-model="mediaServerForm.sendRtpPortRange2" placeholder="缁堟"  clearable style="width: 100px" prop="port"></el-input>
+                <el-input v-model="sendRtpPortRange2" placeholder="缁堟" @change="portRangeChange" clearable style="width: 100px" prop="rtpPortRange2" :disabled="mediaServerForm.defaultServer"></el-input>
               </el-form-item>
-              <el-form-item label="鏃犱汉瑙傜湅澶氫箙鍚庡仠姝㈡媺娴�" >
-                <el-input v-model.number="mediaServerForm.streamNoneReaderDelayMS" clearable></el-input>
-              </el-form-item>
-              <el-form-item label="褰曞儚绠$悊鏈嶅姟绔彛" prop="port">
-                <el-input v-model.number="mediaServerForm.recordAssistPort">
+              <el-form-item label="褰曞儚绠$悊鏈嶅姟绔彛" prop="recordAssistPort">
+                <el-input v-model.number="mediaServerForm.recordAssistPort" :disabled="mediaServerForm.defaultServer">
 <!--                  <el-button v-if="mediaServerForm.recordAssistPort > 0" slot="append" type="primary" @click="checkRecordServer">娴嬭瘯</el-button>-->
                   <el-button v-if="mediaServerForm.recordAssistPort > 0" class="el-icon-check" slot="append" type="primary" @click="checkRecordServer"></el-button>
                 </el-input>
@@ -108,8 +112,9 @@
               </el-form-item>
               <el-form-item>
                 <div style="float: right;">
-                  <el-button type="primary"  @click="onSubmit" >鎻愪氦</el-button>
-                  <el-button @click="close">鍙栨秷</el-button>
+                  <el-button v-if="!mediaServerForm.defaultServer" type="primary"  @click="onSubmit" >鎻愪氦</el-button>
+                  <el-button v-if="!mediaServerForm.defaultServer" @click="close">鍙栨秷</el-button>
+                  <el-button v-if="mediaServerForm.defaultServer" @click="close">鍏抽棴</el-button>
                 </div>
               </el-form-item>
             </el-form>
@@ -171,8 +176,7 @@
         hookIp: "",
         sdpIp: "",
         streamIp: "",
-        streamNoneReaderDelayMS: "",
-        secret: "035c73f7-bb6b-4889-a715-d9eb2d1925cc",
+        secret: "",
         httpPort: "",
         httpSSlPort: "",
         recordAssistPort: "",
@@ -181,18 +185,29 @@
         rtpEnable: false,
         rtpPortRange: "",
         sendRtpPortRange: "",
-        rtpPortRange1: "",
-        rtpPortRange2: "",
-        sendRtpPortRange1: "",
-        sendRtpPortRange2: "",
         rtpProxyPort: "",
         rtspPort: "",
         rtspSSLPort: "",
+        type: "zlm",
       },
+      rtpPortRange1:30000,
+      rtpPortRange2:30500,
+
+      sendRtpPortRange1:50000,
+      sendRtpPortRange2:60000,
 
       rules: {
         ip:  [{ required: true, validator: isValidIp, message: '璇疯緭鍏ユ湁鏁堢殑IP鍦板潃', trigger: 'blur' }],
-        port:  [{ required: true, validator: isValidPort, message: '璇疯緭鍏ユ湁鏁堢殑绔彛鍙�', trigger: 'blur' }],
+        httpPort:  [{ required: true, validator: isValidPort, message: '璇疯緭鍏ユ湁鏁堢殑绔彛鍙�', trigger: 'blur' }],
+        httpSSlPort:  [{ required: true, validator: isValidPort, message: '璇疯緭鍏ユ湁鏁堢殑绔彛鍙�', trigger: 'blur' }],
+        recordAssistPort:  [{ required: true, validator: isValidPort, message: '璇疯緭鍏ユ湁鏁堢殑绔彛鍙�', trigger: 'blur' }],
+        rtmpPort:  [{ required: true, validator: isValidPort, message: '璇疯緭鍏ユ湁鏁堢殑绔彛鍙�', trigger: 'blur' }],
+        rtmpSSlPort:  [{ required: true, validator: isValidPort, message: '璇疯緭鍏ユ湁鏁堢殑绔彛鍙�', trigger: 'blur' }],
+        rtpPortRange1:  [{ required: true, validator: isValidPort, message: '璇疯緭鍏ユ湁鏁堢殑绔彛鍙�', trigger: 'blur' }],
+        rtpPortRange2:  [{ required: true, validator: isValidPort, message: '璇疯緭鍏ユ湁鏁堢殑绔彛鍙�', trigger: 'blur' }],
+        rtpProxyPort:  [{ required: true, validator: isValidPort, message: '璇疯緭鍏ユ湁鏁堢殑绔彛鍙�', trigger: 'blur' }],
+        rtspPort:  [{ required: true, validator: isValidPort, message: '璇疯緭鍏ユ湁鏁堢殑绔彛鍙�', trigger: 'blur' }],
+        rtspSSLPort:  [{ required: true, validator: isValidPort, message: '璇疯緭鍏ユ湁鏁堢殑绔彛鍙�', trigger: 'blur' }],
         secret: [{ required: true, message: "璇疯緭鍏ecret", trigger: "blur" }],
         timeout_ms: [{ required: true, message: "璇疯緭鍏Fmpeg鎺ㄦ祦鎴愬姛瓒呮椂鏃堕棿", trigger: "blur" }],
         ffmpeg_cmd_key: [{ required: false, message: "璇疯緭鍏Fmpeg鍛戒护鍙傛暟妯℃澘锛堝彲閫夛級", trigger: "blur" }],
@@ -216,14 +231,16 @@
         this.currentStep = 3;
         if (param.rtpPortRange) {
           let rtpPortRange = this.mediaServerForm.rtpPortRange.split(",");
+          let sendRtpPortRange = this.mediaServerForm.sendRtpPortRange.split(",");
           if (rtpPortRange.length > 0) {
-            this.mediaServerForm["rtpPortRange1"] = rtpPortRange[0]
-            this.mediaServerForm["rtpPortRange2"] = rtpPortRange[1]
+            this.rtpPortRange1 =  rtpPortRange[0]
+            this.rtpPortRange2 =  rtpPortRange[1]
+          }
+          if (sendRtpPortRange.length > 0) {
+            this.sendRtpPortRange1 =  sendRtpPortRange[0]
+            this.sendRtpPortRange2 =  sendRtpPortRange[1]
           }
         }
-        let sendRtpPortRange = this.mediaServerForm.sendRtpPortRange.split(",");
-        this.mediaServerForm["sendRtpPortRange1"] = sendRtpPortRange[0]
-        this.mediaServerForm["sendRtpPortRange2"] = sendRtpPortRange[1]
       }
     },
     checkServer: function() {
@@ -243,10 +260,10 @@
           that.mediaServerForm = data.data;
           that.mediaServerForm.httpPort = httpPort;
           that.mediaServerForm.autoConfig = true;
-          that.mediaServerForm.sendRtpPortRange1 = 30000
-          that.mediaServerForm.sendRtpPortRange2 = 30500
-          that.mediaServerForm.rtpPortRange1 = 30000
-          that.mediaServerForm.rtpPortRange2 = 30500
+          that.rtpPortRange1 = 30000
+          that.rtpPortRange2 = 30500
+          that.sendRtpPortRange1 = 50000
+          that.sendRtpPortRange2 = 60000
           that.serverCheck = 1;
         }else {
           that.serverCheck = -1;
@@ -292,10 +309,6 @@
     onSubmit: function () {
       this.dialogLoading = true;
       let that = this;
-      if (this.mediaServerForm.rtpEnable) {
-        this.mediaServerForm.rtpPortRange = this.mediaServerForm.rtpPortRange1 + "," + this.mediaServerForm.rtpPortRange2;
-      }
-      this.mediaServerForm.sendRtpPortRange = this.mediaServerForm.sendRtpPortRange1 + "," + this.mediaServerForm.sendRtpPortRange2;
       that.mediaServer.addServer(this.mediaServerForm, data => {
         if (data.code === 0) {
           that.$message({
@@ -324,8 +337,7 @@
         hookIp: "",
         sdpIp: "",
         streamIp: "",
-        streamNoneReaderDelayMS: "",
-        secret: "035c73f7-bb6b-4889-a715-d9eb2d1925cc",
+        secret: "",
         httpPort: "",
         httpSSlPort: "",
         recordAssistPort: "",
@@ -334,14 +346,14 @@
         rtpEnable: false,
         rtpPortRange: "",
         sendRtpPortRange: "",
-        rtpPortRange1: "",
-        rtpPortRange2: "",
-        sendRtpPortRange1: "",
-        sendRtpPortRange2: "",
         rtpProxyPort: "",
         rtspPort: "",
         rtspSSLPort: "",
       };
+      this.rtpPortRange1 = 30500;
+      this.rtpPortRange2 = 30500;
+      this.sendRtpPortRange1 = 50000;
+      this.sendRtpPortRange2 = 60000;
       this.listChangeCallback = null
       this.currentStep = 1;
     },
@@ -349,7 +361,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;
@@ -362,6 +374,12 @@
       if (this.platform.enable && this.platform.expires == "0") {
         this.platform.expires = "300";
       }
+    },
+    portRangeChange: function() {
+      if (this.mediaServerForm.rtpEnable) {
+        this.mediaServerForm.rtpPortRange = this.rtpPortRange1 + "," + this.rtpPortRange2
+        this.mediaServerForm.sendRtpPortRange = this.sendRtpPortRange1 + "," + this.sendRtpPortRange2
+      }
     }
   },
 };

--
Gitblit v1.8.0