diff --git a/backend/config_parser.py b/backend/config_parser.py index a955deb..8f6ea69 100644 --- a/backend/config_parser.py +++ b/backend/config_parser.py @@ -17,7 +17,7 @@ class NeedNVR(Exception): class Recorder: loop = asyncio.get_event_loop() - def __init__(self, address, port, username, password, name = "", index = 0): + def __init__(self, address, port, username, password, name = "", index = 0, name_overrides = {}): self.address = address self.port = int(port) self.username = username @@ -26,6 +26,7 @@ class Recorder: self.index = index self.channels = 0 self.nvr_index = 0 + self.name_overrides = name_overrides @property def nvr(self): @@ -370,7 +371,7 @@ class Config: self.recorders = [] i = 0 for raw_server in raw.get("recorders", []): - self.recorders.append(Recorder(raw_server.get("ip"), raw_server.get("port"), raw_server.get("user"), raw_server.get("password"), raw_server.get("name", ""), index=i)) + self.recorders.append(Recorder(raw_server.get("ip"), raw_server.get("port"), raw_server.get("user"), raw_server.get("password"), raw_server.get("name", ""), index=i, name_overrides=raw_server.get("name_overrides", {}))) i += 1 if (self.recorders.__len__() == 0): self.logger.warning("Recorders not find") diff --git a/backend/server.py b/backend/server.py index c6e2668..0fc92c1 100644 --- a/backend/server.py +++ b/backend/server.py @@ -51,7 +51,10 @@ class Server: nvr:NVR = self.config.getRecorder(recorder_index).nvr await nvr.login() channels = await nvr.channels() - return {"ok":True, "data":channels} + overrides = [] + for channel in channels: + overrides.append(self.config.getRecorder(recorder_index).name_overrides.get(channel, channel)) + return {"ok":True, "data":overrides} except Exception as e: traceback.print_exc() response.status_code = 400 diff --git a/frontend/ang_dvrip/src/app/app.component.css b/frontend/ang_dvrip/src/app/app.component.css index e69de29..56c98f3 100644 --- a/frontend/ang_dvrip/src/app/app.component.css +++ b/frontend/ang_dvrip/src/app/app.component.css @@ -0,0 +1,7 @@ +.container { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} diff --git a/frontend/ang_dvrip/src/app/app.component.html b/frontend/ang_dvrip/src/app/app.component.html index 013c25c..dd23fe6 100644 --- a/frontend/ang_dvrip/src/app/app.component.html +++ b/frontend/ang_dvrip/src/app/app.component.html @@ -1,32 +1,71 @@ - - DVRIP Клиент - - - - 0"> - - {{r}} - - - Нет доступных каналов - - 0"> - - {{r}} - - - Нет доступных рекордеров - - - 0 && availble_recorders.length>0" style="border-bottom: black 1px solid"> - Обзор - - Просмотр в реальном времени - - История обнаружений + + + + + + + menu + + Закрыть + + + 0"> + Выбранный рекордер + + {{r}} + + + Нет доступных рекордеров + + 0"> + Выбранный канал + + {{r}} + + + Нет доступных каналов + + DVRIP Клиент {{version}} + + + + + + + menu + + {{availble_recorders.length == 0?'Нет доступных рекордеров':availble_recorders[selected_recorder]}} + {{availble_channels.length == 0?'':'/ ' + availble_channels[selected_channel]}} + + + Обзор + + Просмотр в реальном времени + + История обнаружений + + + + + + + diff --git a/frontend/ang_dvrip/src/app/app.component.ts b/frontend/ang_dvrip/src/app/app.component.ts index 512e823..d47d98d 100644 --- a/frontend/ang_dvrip/src/app/app.component.ts +++ b/frontend/ang_dvrip/src/app/app.component.ts @@ -2,6 +2,7 @@ import {Component, OnInit} from '@angular/core'; import {ApiService} from "./services/ApiService"; import {HttpClient} from "@angular/common/http"; import {ActivatedRoute, Router} from "@angular/router"; +import {version} from "./version"; @Component({ selector: 'app-root', @@ -14,6 +15,7 @@ export class AppComponent implements OnInit { availble_channels:string[] = []; selected_channel:number = 0; loading:boolean = true + version = version; ngOnInit(): void { this.getRecorders(); diff --git a/frontend/ang_dvrip/src/app/components/history/history.component.html b/frontend/ang_dvrip/src/app/components/history/history.component.html index 58b4e53..f4b9867 100644 --- a/frontend/ang_dvrip/src/app/components/history/history.component.html +++ b/frontend/ang_dvrip/src/app/components/history/history.component.html @@ -8,14 +8,14 @@ - Choose a date + Дата начала поиска MM/DD/YYYY - Choose a date + Дата конца поиска MM/DD/YYYY @@ -31,7 +31,12 @@ {{element.filename}} {{baseUtils.getFancySize(element.size)}} - + diff --git a/frontend/ang_dvrip/src/app/components/history/history.component.ts b/frontend/ang_dvrip/src/app/components/history/history.component.ts index 85744e2..5215374 100644 --- a/frontend/ang_dvrip/src/app/components/history/history.component.ts +++ b/frontend/ang_dvrip/src/app/components/history/history.component.ts @@ -46,6 +46,7 @@ export class HistoryComponent implements OnInit { switch (type) { case "start": { this.start_date = event.value == null?null:event.value; + this.end_date = this.start_date; break; } case "end": { diff --git a/frontend/ang_dvrip/src/app/components/stream/stream.component.html b/frontend/ang_dvrip/src/app/components/stream/stream.component.html index fe0c129..0c20462 100644 --- a/frontend/ang_dvrip/src/app/components/stream/stream.component.html +++ b/frontend/ang_dvrip/src/app/components/stream/stream.component.html @@ -1,12 +1,14 @@ - - Выбранный поток - - Основной - Дополнительный - - - Открыть в новом окне + + + Выбранный поток + + Основной + Дополнительный + + + Открыть в новом окне + diff --git a/frontend/ang_dvrip/src/app/version.ts b/frontend/ang_dvrip/src/app/version.ts new file mode 100644 index 0000000..47757fe --- /dev/null +++ b/frontend/ang_dvrip/src/app/version.ts @@ -0,0 +1 @@ +export const version = "dev";
Нет доступных каналов
Нет доступных рекордеров