From 428c045aab76965a33df46b3c1d3212d9e0db1d7 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期四, 29 四月 2021 17:14:37 +0800
Subject: [PATCH] 添加系统设置界面,未完成
---
web_src/src/components/setting/Web.vue | 83 +++++++++++++
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java | 8 -
web_src/src/components/setting/Media.vue | 121 ++++++++++++++++++++
web_src/src/router/index.js | 20 +++
web_src/src/components/UiHeader.vue | 6 +
web_src/src/components/setting/Sip.vue | 83 +++++++++++++
6 files changed, 314 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
index a4d7816..aa501d9 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
@@ -105,12 +105,11 @@
// 娣诲姞Expires澶�
response.addHeader(request.getExpires());
- // 1.鑾峰彇鍒伴�氫俊鍦板潃绛変俊鎭紝淇濆瓨鍒癛edis
+ // 鑾峰彇鍒伴�氫俊鍦板潃绛変俊鎭�
FromHeader fromHeader = (FromHeader) request.getHeader(FromHeader.NAME);
ViaHeader viaHeader = (ViaHeader) request.getHeader(ViaHeader.NAME);
String received = viaHeader.getReceived();
int rPort = viaHeader.getRPort();
- // 鏈湴妯℃嫙璁惧 received 涓虹┖ rPort 涓� -1
// 瑙f瀽鏈湴鍦板潃鏇夸唬
if (StringUtils.isEmpty(received) || rPort == -1) {
received = viaHeader.getHost();
@@ -152,15 +151,12 @@
// 涓嬪彂catelog鏌ヨ鐩綍
if (registerFlag == 1 ) {
logger.info("[{}] 娉ㄥ唽鎴愬姛! deviceId:" + device.getDeviceId(), requestAddress);
- // boolean exists = storager.exists(device.getDeviceId());
device.setRegisterTimeMillis(System.currentTimeMillis());
storager.updateDevice(device);
publisher.onlineEventPublish(device.getDeviceId(), VideoManagerConstants.EVENT_ONLINE_REGISTER);
// 閲嶆柊娉ㄥ唽鏇存柊璁惧鍜岄�氶亾锛屼互鍏嶈澶囨浛鎹㈡垨鏇存柊鍚庝俊鎭棤娉曟洿鏂�
- //if (!exists) {
- handler.onRegister(device);
- //}
+ handler.onRegister(device);
} else if (registerFlag == 2) {
logger.info("[{}] 娉ㄩ攢鎴愬姛! deviceId:" + device.getDeviceId(), requestAddress);
publisher.outlineEventPublish(device.getDeviceId(), VideoManagerConstants.EVENT_OUTLINE_UNREGISTER);
diff --git a/web_src/src/components/UiHeader.vue b/web_src/src/components/UiHeader.vue
index f1b0e1d..b455aff 100644
--- a/web_src/src/components/UiHeader.vue
+++ b/web_src/src/components/UiHeader.vue
@@ -7,6 +7,12 @@
<el-menu-item index="/streamProxyList">鎷夋祦浠g悊</el-menu-item>
<el-menu-item index="/parentPlatformList/15/1">鍥芥爣绾ц仈</el-menu-item>
<el-menu-item @click="openDoc">鍦ㄧ嚎鏂囨。</el-menu-item>
+<!-- <el-submenu index="/setting">-->
+<!-- <template slot="title">绯荤粺璁剧疆</template>-->
+<!-- <el-menu-item index="/setting/web">WEB鏈嶅姟</el-menu-item>-->
+<!-- <el-menu-item index="/setting/sip">鍥芥爣鏈嶅姟</el-menu-item>-->
+<!-- <el-menu-item index="/setting/media">濯掍綋鏈嶅姟</el-menu-item>-->
+<!-- </el-submenu>-->
<el-switch v-model="alarmNotify" active-text="鎶ヨ淇℃伅鎺ㄩ��" style="display: block float: right" @change="sseControl"></el-switch>
<!-- <el-menu-item style="float: right;" @click="loginout">閫�鍑�</el-menu-item>-->
<el-submenu index="" style="float: right;" >
diff --git a/web_src/src/components/setting/Media.vue b/web_src/src/components/setting/Media.vue
new file mode 100644
index 0000000..cfc4e12
--- /dev/null
+++ b/web_src/src/components/setting/Media.vue
@@ -0,0 +1,121 @@
+<template>
+ <div id="SettingForMedia">
+ <el-container>
+ <el-header>
+ <uiHeader></uiHeader>
+ </el-header>
+ <el-main>
+ <div style="background-color: #FFFFFF; margin-bottom: 1rem; position: relative; padding: 0.5rem; text-align: left;">
+ <span style="font-size: 1rem; font-weight: bold;">濯掍綋鏈嶅姟</span>
+ </div>
+ <div style="width: 60%; margin:0 auto; background-color: #FFFFFF; position: relative; padding: 5rem 6.5rem; text-align: left;font-size: 14px; max-width: 400px">
+ <el-form ref="form" :rules="rules" :model="form" label-width="140px">
+ <el-form-item label="IP" prop="IP">
+ <el-input v-model="form.IP" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="鍏綉IP" prop="wanIp">
+ <el-input v-model="form.wanIp" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="HOOK IP" prop="hookIp">
+ <el-input v-model="form.hookIp" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="HTTP绔彛" >
+ <el-input v-model.number="form.httpPort" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="HTTP SSL绔彛" >
+ <el-input v-model.number="form.httpSSlPort" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="RTMP绔彛" >
+ <el-input v-model.number="form.rtmpPort" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="RTMP SSL绔彛" >
+ <el-input v-model.number="form.rtmpSSlPort" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="RTSP绔彛" >
+ <el-input v-model.number="form.rtspPort" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="RTSP SSL绔彛" >
+ <el-input v-model.number="form.rtspSSLPort" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="RTP绔彛" >
+ <el-input v-model.number="form.rtpProxyPort" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="鑷姩鐐规挱" >
+ <el-switch v-model="form.autoApplyPlay"></el-switch>
+ </el-form-item>
+ <el-form-item label="鎺ュ彛瀵嗛挜" prop="secret">
+ <el-input v-model="form.secret" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="鏃犱汉瑙傜湅瑙﹀彂鏃堕暱" >
+ <el-input v-model.number="form.streamNoneReaderDelayMS" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="鑷姩閰嶇疆" >
+ <el-switch v-model="form.autoConfig"></el-switch>
+ </el-form-item>
+ <el-form-item label="浣跨敤澶氱鍙�" >
+ <el-switch v-model="form.rtp.enable"></el-switch>
+ </el-form-item>
+ <el-form-item label="绔彛鑼冨洿" >
+ <el-input v-model.number="form.rtp.portRange" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="DOCKER鏅鸿兘璇嗗埆">
+ <el-input type="textarea" v-model="dockerStr"></el-input>
+ </el-form-item>
+
+ <el-form-item>
+ <div style="float: right;">
+ <el-button type="primary" @click="onSubmit">淇濆瓨</el-button>
+<!-- <el-button @click="close">鍙栨秷</el-button>-->
+ </div>
+
+ </el-form-item>
+ </el-form>
+ </div>
+
+
+ </el-main>
+ </el-container>
+ </div>
+</template>
+
+<script>
+import uiHeader from '../UiHeader.vue'
+export default {
+ name: "SettingForMedia",
+ components: {
+ uiHeader
+ },
+ data() {
+ return {
+ dockerStr: null,
+ form: {
+ ip: null,
+ wanIp: null,
+ hookIp: null,
+ httpPort: null,
+ httpSSlPort: null,
+ rtmpPort: null,
+ rtpProxyPort: null,
+ rtspPort: null,
+ rtspSSLPort: null,
+ autoConfig: true,
+ secret: "035c73f7-bb6b-4889-a715-d9eb2d1925cc",
+ rtp: {
+ enable: false,
+ portRange: null
+ },
+ },
+
+ rules: {
+ IP: [{ required: true, message: "璇疯緭鍏ュ悕绉�", trigger: "blur" }],
+ wanIp: [{ required: false, message: "璇疯緭鍏ュ簲鐢ㄥ悕", trigger: "blur" }],
+ hookIp: [{ required: false, message: "璇疯緭鍏ユ祦ID", trigger: "blur" }],
+ },
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/web_src/src/components/setting/Sip.vue b/web_src/src/components/setting/Sip.vue
new file mode 100644
index 0000000..767fdb7
--- /dev/null
+++ b/web_src/src/components/setting/Sip.vue
@@ -0,0 +1,83 @@
+<template>
+ <div id="SettingForSip">
+ <el-container>
+ <el-header>
+ <uiHeader></uiHeader>
+ </el-header>
+ <el-main>
+ <div style="background-color: #FFFFFF; margin-bottom: 1rem; position: relative; padding: 0.5rem; text-align: left;">
+ <span style="font-size: 1rem; font-weight: bold;">鍥芥爣鏈嶅姟</span>
+ </div>
+ <div style="width: 60%; margin:0 auto; background-color: #FFFFFF; position: relative; padding: 5rem 6.5rem; text-align: left;font-size: 14px; max-width: 400px">
+ <el-form ref="form" :rules="rules" :model="form" label-width="140px">
+ <el-form-item label="HTTP绔彛" prop="port">
+ <el-input v-model.number="form.port" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="鐐规挱瓒呮椂" >
+ <el-input v-model.number="form.playTimeout" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="鑷姩鐐规挱" >
+ <el-switch v-model="form.autoApplyPlay"></el-switch>
+ </el-form-item>
+ <el-form-item label="鎵╁睍SDP" >
+ <el-switch v-model="form.seniorSdp"></el-switch>
+ </el-form-item>
+ <el-form-item label="淇濆瓨杞ㄨ抗" >
+ <el-switch v-model="form.savePositionHistory"></el-switch>
+ </el-form-item>
+ <el-form-item label="绛夊緟闊宠棰戠紪鐮佷俊鎭�">
+ <el-switch v-model="form.waitTrack"></el-switch>
+ </el-form-item>
+ <el-form-item label="寮�鍚帴鍙i壌鏉�">
+ <el-switch v-model="form.interfaceAuthentication"></el-switch>
+ </el-form-item>
+
+ <el-form-item>
+ <div style="float: right;">
+ <el-button type="primary" @click="onSubmit">淇濆瓨</el-button>
+<!-- <el-button @click="close">鍙栨秷</el-button>-->
+ </div>
+
+ </el-form-item>
+ </el-form>
+ </div>
+
+
+ </el-main>
+ </el-container>
+ </div>
+</template>
+
+<script>
+import uiHeader from '../UiHeader.vue'
+export default {
+ name: "SettingForSip",
+ components: {
+ uiHeader
+ },
+ data() {
+ return {
+ form: {
+ port: null,
+ autoApplyPlay: null,
+ seniorSdp: null,
+ savePositionHistory: null,
+ playTimeout: null,
+ waitTrack: null,
+ interfaceAuthentication: null,
+ },
+
+ rules: {
+ name: [{ required: true, message: "璇疯緭鍏ュ悕绉�", trigger: "blur" }],
+ app: [{ required: true, message: "璇疯緭鍏ュ簲鐢ㄥ悕", trigger: "blur" }],
+ stream: [{ required: true, message: "璇疯緭鍏ユ祦ID", trigger: "blur" }],
+ gbId: [{ required: true, message: "璇疯緭鍏ュ浗鏍囩紪鐮�", trigger: "blur" }],
+ },
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/web_src/src/components/setting/Web.vue b/web_src/src/components/setting/Web.vue
new file mode 100644
index 0000000..5eb853a
--- /dev/null
+++ b/web_src/src/components/setting/Web.vue
@@ -0,0 +1,83 @@
+<template>
+ <div id="SettingForWeb">
+ <el-container>
+ <el-header>
+ <uiHeader></uiHeader>
+ </el-header>
+ <el-main>
+ <div style="background-color: #FFFFFF; margin-bottom: 1rem; position: relative; padding: 0.5rem; text-align: left;">
+ <span style="font-size: 1rem; font-weight: bold;">WEB鏈嶅姟</span>
+ </div>
+ <div style="width: 60%; margin:0 auto; background-color: #FFFFFF; position: relative; padding: 5rem 6.5rem; text-align: left;font-size: 14px; max-width: 400px">
+ <el-form ref="form" :rules="rules" :model="form" label-width="140px">
+ <el-form-item label="HTTP绔彛" prop="port">
+ <el-input v-model.number="form.port" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="鐐规挱瓒呮椂" >
+ <el-input v-model.number="form.playTimeout" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="鑷姩鐐规挱" >
+ <el-switch v-model="form.autoApplyPlay"></el-switch>
+ </el-form-item>
+ <el-form-item label="鎵╁睍SDP" >
+ <el-switch v-model="form.seniorSdp"></el-switch>
+ </el-form-item>
+ <el-form-item label="淇濆瓨杞ㄨ抗" >
+ <el-switch v-model="form.savePositionHistory"></el-switch>
+ </el-form-item>
+ <el-form-item label="绛夊緟闊宠棰戠紪鐮佷俊鎭�">
+ <el-switch v-model="form.waitTrack"></el-switch>
+ </el-form-item>
+ <el-form-item label="寮�鍚帴鍙i壌鏉�">
+ <el-switch v-model="form.interfaceAuthentication"></el-switch>
+ </el-form-item>
+
+ <el-form-item>
+ <div style="float: right;">
+ <el-button type="primary" @click="onSubmit">淇濆瓨</el-button>
+<!-- <el-button @click="close">鍙栨秷</el-button>-->
+ </div>
+
+ </el-form-item>
+ </el-form>
+ </div>
+
+
+ </el-main>
+ </el-container>
+ </div>
+</template>
+
+<script>
+import uiHeader from '../UiHeader.vue'
+export default {
+ name: "SettingForWeb",
+ components: {
+ uiHeader
+ },
+ data() {
+ return {
+ form: {
+ port: null,
+ autoApplyPlay: null,
+ seniorSdp: null,
+ savePositionHistory: null,
+ playTimeout: null,
+ waitTrack: null,
+ interfaceAuthentication: null,
+ },
+
+ rules: {
+ name: [{ required: true, message: "璇疯緭鍏ュ悕绉�", trigger: "blur" }],
+ app: [{ required: true, message: "璇疯緭鍏ュ簲鐢ㄥ悕", trigger: "blur" }],
+ stream: [{ required: true, message: "璇疯緭鍏ユ祦ID", trigger: "blur" }],
+ gbId: [{ required: true, message: "璇疯緭鍏ュ浗鏍囩紪鐮�", trigger: "blur" }],
+ },
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/web_src/src/router/index.js b/web_src/src/router/index.js
index bc40855..a56ce99 100644
--- a/web_src/src/router/index.js
+++ b/web_src/src/router/index.js
@@ -10,6 +10,9 @@
import login from '../components/Login.vue'
import parentPlatformList from '../components/ParentPlatformList.vue'
import test from '../components/test.vue'
+import web from '../components/setting/Web.vue'
+import sip from '../components/setting/Sip.vue'
+import media from '../components/setting/Media.vue'
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
@@ -57,7 +60,22 @@
path: '/devicePosition/:deviceId/:parentChannelId/:count/:page',
name: 'devicePosition',
component: devicePosition,
- },,
+ },
+ {
+ path: '/setting/web',
+ name: 'web',
+ component: web,
+ },
+ {
+ path: '/setting/sip',
+ name: 'sip',
+ component: sip,
+ },
+ {
+ path: '/setting/media',
+ name: 'media',
+ component: media,
+ },
{
path: '/test',
name: 'test',
--
Gitblit v1.8.0