Compare commits

...

5 Commits

Author SHA1 Message Date
Ivan
69f324ce5f
fix local IP 2023-11-08 12:10:37 +03:00
Ivan
bbce9452d5
update documentation 2023-11-08 12:03:22 +03:00
Ivan
cf6451231d
delete update permission in user settings 2023-11-08 11:49:24 +03:00
Ivan
6ae2dbba20
export alarm 2023-11-08 11:42:07 +03:00
Ivan
d6fb0cbb5d
http adaptation 2023-11-08 10:25:47 +03:00
8 changed files with 75 additions and 53 deletions

View File

@ -120,7 +120,7 @@ app.post("/videos/restart", async (req, res) => {
var options = {
method: "GET",
url: `http://${process.env.VIRTUAL_HOST}/http/restart`,
url: `http://${process.env.VIRTUAL_HOST}:4747/http/restart`,
headers: { "Content-Type": "application/json" },
data: { video: true },
};
@ -2753,7 +2753,7 @@ app.post("/update-group", async (req, res) => {
async function getParameters(serial) {
const requestResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/request?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/request?serial=${serial}`,
{
headers: {
"Content-Type": "application/json",
@ -2767,7 +2767,7 @@ async function getParameters(serial) {
await new Promise((resolve) => setTimeout(resolve, 300));
const requestResponse2 = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/request?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/request?serial=${serial}`,
{
headers: {
"Content-Type": "application/json",
@ -2781,7 +2781,7 @@ async function getParameters(serial) {
await new Promise((resolve) => setTimeout(resolve, 300));
const requestResponse3 = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/request?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/request?serial=${serial}`,
{
headers: {
"Content-Type": "application/json",
@ -2795,7 +2795,7 @@ async function getParameters(serial) {
await new Promise((resolve) => setTimeout(resolve, 300));
const requestResponse5 = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/request?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/request?serial=${serial}`,
{
headers: {
"Content-Type": "application/json",
@ -2810,7 +2810,7 @@ async function getParameters(serial) {
await new Promise((resolve) => setTimeout(resolve, 300));
const getResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/get?serial=${serial}`
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/get?serial=${serial}`
);
return getResponse.data;
@ -2830,7 +2830,7 @@ app.post("/main-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const requestResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/request?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/request?serial=${serial}`,
{
headers: {
"Content-Type": "application/json",
@ -2844,7 +2844,7 @@ app.post("/main-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const getResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/get?serial=${serial}`
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/get?serial=${serial}`
);
res.json(getResponse.data);
@ -2886,7 +2886,7 @@ app.put("/main-parameters", async (req, res) => {
.send("Ошибка: lastkeepalive старше минуты или устройство не найдено.");
}
const response = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/set?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/set?serial=${serial}`,
{
data: JSON.stringify(requestBody),
headers: {
@ -2936,7 +2936,7 @@ app.post("/ethernet-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const requestResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/request?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/request?serial=${serial}`,
{
headers: {
"Content-Type": "application/json",
@ -2950,7 +2950,7 @@ app.post("/ethernet-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const getResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/get?serial=${serial}`
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/get?serial=${serial}`
);
res.json(getResponse.data);
@ -3002,7 +3002,7 @@ app.put("/ethernet-parameters", async (req, res) => {
.send("Ошибка: lastkeepalive старше минуты или устройство не найдено.");
}
const response = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/set?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/set?serial=${serial}`,
{
data: JSON.stringify(requestBody),
headers: {
@ -3030,7 +3030,7 @@ app.post("/wifi-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const requestResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/request?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/request?serial=${serial}`,
{
headers: {
"Content-Type": "application/json",
@ -3044,7 +3044,7 @@ app.post("/wifi-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const getResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/get?serial=${serial}`
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/get?serial=${serial}`
);
res.json(getResponse.data);
@ -3092,7 +3092,7 @@ app.put("/wifi-parameters", async (req, res) => {
.send("Ошибка: lastkeepalive старше минуты или устройство не найдено.");
}
const response = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/set?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/set?serial=${serial}`,
{
data: JSON.stringify(requestBody),
headers: {
@ -3120,7 +3120,7 @@ app.post("/communication-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const requestResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/request?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/request?serial=${serial}`,
{
headers: {
"Content-Type": "application/json",
@ -3134,7 +3134,7 @@ app.post("/communication-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const getResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/get?serial=${serial}`
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/get?serial=${serial}`
);
res.json(getResponse.data);
@ -3191,7 +3191,7 @@ app.put("/communication-parameters", async (req, res) => {
.send("Ошибка: lastkeepalive старше минуты или устройство не найдено.");
}
const response = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/set?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/set?serial=${serial}`,
{
data: JSON.stringify(requestBody),
headers: {
@ -3219,7 +3219,7 @@ app.post("/install-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const requestResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/request?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/request?serial=${serial}`,
{
headers: {
"Content-Type": "application/json",
@ -3233,7 +3233,7 @@ app.post("/install-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const getResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/get?serial=${serial}`
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/get?serial=${serial}`
);
res.json(getResponse.data);
@ -3257,7 +3257,7 @@ app.post("/ai-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const requestResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/request?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/request?serial=${serial}`,
{
headers: {
"Content-Type": "application/json",
@ -3271,7 +3271,7 @@ app.post("/ai-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const getResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/get?serial=${serial}`
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/get?serial=${serial}`
);
res.json(getResponse.data);
@ -3312,7 +3312,7 @@ app.put("/ai-parameters", async (req, res) => {
.send("Ошибка: lastkeepalive старше минуты или устройство не найдено.");
}
const response = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/set?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/set?serial=${serial}`,
{
data: JSON.stringify(requestBody),
headers: {
@ -3340,7 +3340,7 @@ app.post("/cameras-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const requestResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/request?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/request?serial=${serial}`,
{
headers: {
"Content-Type": "application/json",
@ -3354,7 +3354,7 @@ app.post("/cameras-parameters", async (req, res) => {
await new Promise((resolve) => setTimeout(resolve, 1000));
const getResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/get?serial=${serial}`
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/get?serial=${serial}`
);
res.json(getResponse.data);
@ -3391,7 +3391,7 @@ app.put("/cameras-parameters", async (req, res) => {
.send("Ошибка: lastkeepalive старше минуты или устройство не найдено.");
}
const response = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/set?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/set?serial=${serial}`,
{
data: JSON.stringify(requestBody),
headers: {
@ -3435,7 +3435,7 @@ app.put("/install-parameters", async (req, res) => {
.send("Ошибка: lastkeepalive старше минуты или устройство не найдено.");
}
const response = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/set?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/set?serial=${serial}`,
{
data: JSON.stringify(requestBody),
headers: {
@ -3833,7 +3833,7 @@ app.put("/device-parameters", async (req, res) => {
.send("Ошибка: lastkeepalive старше минуты или устройство не найдено.");
}
const response = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/set?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/set?serial=${serial}`,
{
data: JSON.stringify(requestBody),
headers: {
@ -3874,7 +3874,7 @@ app.put("/camera-parameters", async (req, res) => {
.send("Ошибка: lastkeepalive старше минуты или устройство не найдено.");
}
const response = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/parameters/set?serial=${serial}`,
`http://${process.env.VIRTUAL_HOST}:4747/http/parameters/set?serial=${serial}`,
{
data: JSON.stringify(requestBody),
headers: {
@ -5065,12 +5065,12 @@ app.get("/getData", async (req, res) => {
try {
const successResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/filelist/request?serial=${selectedSerial}&querytime=${selectedDate}&channel=${selectedChannel}`
`http://${process.env.VIRTUAL_HOST}:4747/http/filelist/request?serial=${selectedSerial}&querytime=${selectedDate}&channel=${selectedChannel}`
);
if (successResponse.data.SUCCESS) {
await new Promise((resolve) => setTimeout(resolve, 7000));
const dataResponse = await axios.get(
`http://${process.env.VIRTUAL_HOST}/http/filelist/get?serial=${selectedSerial}&querytime=${selectedDate}&channel=${selectedChannel}`
`http://${process.env.VIRTUAL_HOST}:4747/http/filelist/get?serial=${selectedSerial}&querytime=${selectedDate}&channel=${selectedChannel}`
);
if (successResponse.data.SUCCESS) {
const dataId = dataResponse.data.DATAID;

View File

@ -208,15 +208,6 @@
{{/if}}
</div>
<div class="permission-group">
<h2>Обновление ПО</h2>
{{#if Update}}
<img><input name="Update" type="checkbox" id="update-do" class="checkbox-input device-filter" hidden checked><label for="update-do" class="checkbox-label"><div class="checkmark"></div>Обновлять</label>
{{else}}
<img><input name="Update" type="checkbox" id="update-do" class="checkbox-input device-filter" hidden><label for="update-do" class="checkbox-label"><div class="checkmark"></div>Обновлять</label>
{{/if}}
</div>
</section>
<div style="margin-left: 44px; margin-right: 72px; width: calc(100% - 44px - 72px);" class="horizontal-line"></div>
@ -313,7 +304,6 @@
password: document.getElementById('user-password').value,
EditTransport: document.getElementById('device-edit').checked,
DeleteTransport: document.getElementById('device-delete').checked,
Update: document.getElementById('update-do').checked,
};
// Объединяем все данные в один объект

View File

@ -36,7 +36,7 @@
<h1 style="padding-bottom: 10px;">Скачать документацию</h1>
<div class="download-file" onclick="window.open(`https://transportsoft.ru/docs/argus/user_manual.pdf`, '_blank');">
<div class="download-file" onclick="window.open(`http://transportsoft.ru/docs/argus/user_manual.pdf`, '_blank');">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<g clip-path="url(#clip0_49_1939)">
<path d="M12 23.9883C18.5647 23.9883 24 18.5439 24 11.9941C24 5.43264 18.5529 0 11.9882 0C5.43529 0 0 5.43264 0 11.9941C0 18.5439 5.44705 23.9883 12 23.9883ZM12 21.9892C6.44705 21.9892 2.01176 17.5444 2.01176 11.9941C2.01176 6.44391 6.43529 1.99903 11.9882 1.99903C17.5411 1.99903 22 6.44391 22 11.9941C22 17.5444 17.5529 21.9892 12 21.9892ZM9.19999 18.3204H15.3412C16.6471 18.3204 17.2941 17.6502 17.2941 16.3333V11.2768H12.6353C11.8235 11.2768 11.4353 10.9006 11.4353 10.0892V5.35033H9.19999C7.90587 5.35033 7.24704 6.02059 7.24704 7.33759V16.3333C7.24704 17.662 7.90587 18.3204 9.19999 18.3204ZM12.7294 10.3244H17.2235C17.1882 10.0657 16.9999 9.80698 16.6941 9.50124L13.2118 5.95004C12.9177 5.6443 12.647 5.45616 12.3882 5.42088V9.98337C12.3882 10.2068 12.5059 10.3244 12.7294 10.3244Z" fill="#8086F9"/>
@ -49,7 +49,7 @@
</svg>
Скачать Руководство по эксплуатации
</div>
<div class="download-file" onclick="window.open(`https://transportsoft.ru/docs/argus/life_cycle.pdf`, '_blank');">
<div class="download-file" onclick="window.open(`http://transportsoft.ru/docs/argus/life_cycle.pdf`, '_blank');">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<g clip-path="url(#clip0_49_1939)">
<path d="M12 23.9883C18.5647 23.9883 24 18.5439 24 11.9941C24 5.43264 18.5529 0 11.9882 0C5.43529 0 0 5.43264 0 11.9941C0 18.5439 5.44705 23.9883 12 23.9883ZM12 21.9892C6.44705 21.9892 2.01176 17.5444 2.01176 11.9941C2.01176 6.44391 6.43529 1.99903 11.9882 1.99903C17.5411 1.99903 22 6.44391 22 11.9941C22 17.5444 17.5529 21.9892 12 21.9892ZM9.19999 18.3204H15.3412C16.6471 18.3204 17.2941 17.6502 17.2941 16.3333V11.2768H12.6353C11.8235 11.2768 11.4353 10.9006 11.4353 10.0892V5.35033H9.19999C7.90587 5.35033 7.24704 6.02059 7.24704 7.33759V16.3333C7.24704 17.662 7.90587 18.3204 9.19999 18.3204ZM12.7294 10.3244H17.2235C17.1882 10.0657 16.9999 9.80698 16.6941 9.50124L13.2118 5.95004C12.9177 5.6443 12.647 5.45616 12.3882 5.42088V9.98337C12.3882 10.2068 12.5059 10.3244 12.7294 10.3244Z" fill="#8086F9"/>
@ -62,7 +62,7 @@
</svg>
Скачать Жизненный цикл
</div>
<div class="download-file" onclick="window.open(`https://transportsoft.ru/docs/argus/installation.pdf`, '_blank');">
<div class="download-file" onclick="window.open(`http://transportsoft.ru/docs/argus/installation.pdf`, '_blank');">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<g clip-path="url(#clip0_49_1939)">
<path d="M12 23.9883C18.5647 23.9883 24 18.5439 24 11.9941C24 5.43264 18.5529 0 11.9882 0C5.43529 0 0 5.43264 0 11.9941C0 18.5439 5.44705 23.9883 12 23.9883ZM12 21.9892C6.44705 21.9892 2.01176 17.5444 2.01176 11.9941C2.01176 6.44391 6.43529 1.99903 11.9882 1.99903C17.5411 1.99903 22 6.44391 22 11.9941C22 17.5444 17.5529 21.9892 12 21.9892ZM9.19999 18.3204H15.3412C16.6471 18.3204 17.2941 17.6502 17.2941 16.3333V11.2768H12.6353C11.8235 11.2768 11.4353 10.9006 11.4353 10.0892V5.35033H9.19999C7.90587 5.35033 7.24704 6.02059 7.24704 7.33759V16.3333C7.24704 17.662 7.90587 18.3204 9.19999 18.3204ZM12.7294 10.3244H17.2235C17.1882 10.0657 16.9999 9.80698 16.6941 9.50124L13.2118 5.95004C12.9177 5.6443 12.647 5.45616 12.3882 5.42088V9.98337C12.3882 10.2068 12.5059 10.3244 12.7294 10.3244Z" fill="#8086F9"/>
@ -75,7 +75,7 @@
</svg>
Скачать Инструкцию по установке экземпляра ПО
</div>
<div class="download-file" onclick="window.open(`https://transportsoft.ru/docs/argus/functional.pdf`, '_blank');">
<div class="download-file" onclick="window.open(`http://transportsoft.ru/docs/argus/functional.pdf`, '_blank');">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<g clip-path="url(#clip0_49_1939)">
<path d="M12 23.9883C18.5647 23.9883 24 18.5439 24 11.9941C24 5.43264 18.5529 0 11.9882 0C5.43529 0 0 5.43264 0 11.9941C0 18.5439 5.44705 23.9883 12 23.9883ZM12 21.9892C6.44705 21.9892 2.01176 17.5444 2.01176 11.9941C2.01176 6.44391 6.43529 1.99903 11.9882 1.99903C17.5411 1.99903 22 6.44391 22 11.9941C22 17.5444 17.5529 21.9892 12 21.9892ZM9.19999 18.3204H15.3412C16.6471 18.3204 17.2941 17.6502 17.2941 16.3333V11.2768H12.6353C11.8235 11.2768 11.4353 10.9006 11.4353 10.0892V5.35033H9.19999C7.90587 5.35033 7.24704 6.02059 7.24704 7.33759V16.3333C7.24704 17.662 7.90587 18.3204 9.19999 18.3204ZM12.7294 10.3244H17.2235C17.1882 10.0657 16.9999 9.80698 16.6941 9.50124L13.2118 5.95004C12.9177 5.6443 12.647 5.45616 12.3882 5.42088V9.98337C12.3882 10.2068 12.5059 10.3244 12.7294 10.3244Z" fill="#8086F9"/>
@ -88,9 +88,23 @@
</svg>
Скачать Функциональные характеристики
</div>
<div class="download-file" onclick="window.open(`http://transportsoft.ru/docs/argus/certificate.pdf`, '_blank');">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<g clip-path="url(#clip0_49_1939)">
<path d="M12 23.9883C18.5647 23.9883 24 18.5439 24 11.9941C24 5.43264 18.5529 0 11.9882 0C5.43529 0 0 5.43264 0 11.9941C0 18.5439 5.44705 23.9883 12 23.9883ZM12 21.9892C6.44705 21.9892 2.01176 17.5444 2.01176 11.9941C2.01176 6.44391 6.43529 1.99903 11.9882 1.99903C17.5411 1.99903 22 6.44391 22 11.9941C22 17.5444 17.5529 21.9892 12 21.9892ZM9.19999 18.3204H15.3412C16.6471 18.3204 17.2941 17.6502 17.2941 16.3333V11.2768H12.6353C11.8235 11.2768 11.4353 10.9006 11.4353 10.0892V5.35033H9.19999C7.90587 5.35033 7.24704 6.02059 7.24704 7.33759V16.3333C7.24704 17.662 7.90587 18.3204 9.19999 18.3204ZM12.7294 10.3244H17.2235C17.1882 10.0657 16.9999 9.80698 16.6941 9.50124L13.2118 5.95004C12.9177 5.6443 12.647 5.45616 12.3882 5.42088V9.98337C12.3882 10.2068 12.5059 10.3244 12.7294 10.3244Z" fill="#8086F9"/>
</g>
<defs>
<clipPath id="clip0_49_1939">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>
Скачать свидетельство о гос регистрации программы для ЭВМ
</div>
<h1 style="padding-bottom: 10px;">Аргус</h1>
<h3>"Автоматизированная регистрация, геопозиционирование и управление системами"</h3>
<h3>Версия 1.0.2 от 8 ноября 2023г.</h3>
<h3>© 2023 ООО “Современные Технологии”</h3>

View File

@ -111,7 +111,7 @@
<h1 style="padding-bottom: 10px;">Скачать документацию</h1>
<div class="download-file" onclick="window.open(`https://transportsoft.ru/docs/argus/user_manual.pdf`, '_blank');">
<div class="download-file" onclick="window.open(`http://transportsoft.ru/docs/argus/user_manual.pdf`, '_blank');">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<g clip-path="url(#clip0_49_1939)">
<path d="M12 23.9883C18.5647 23.9883 24 18.5439 24 11.9941C24 5.43264 18.5529 0 11.9882 0C5.43529 0 0 5.43264 0 11.9941C0 18.5439 5.44705 23.9883 12 23.9883ZM12 21.9892C6.44705 21.9892 2.01176 17.5444 2.01176 11.9941C2.01176 6.44391 6.43529 1.99903 11.9882 1.99903C17.5411 1.99903 22 6.44391 22 11.9941C22 17.5444 17.5529 21.9892 12 21.9892ZM9.19999 18.3204H15.3412C16.6471 18.3204 17.2941 17.6502 17.2941 16.3333V11.2768H12.6353C11.8235 11.2768 11.4353 10.9006 11.4353 10.0892V5.35033H9.19999C7.90587 5.35033 7.24704 6.02059 7.24704 7.33759V16.3333C7.24704 17.662 7.90587 18.3204 9.19999 18.3204ZM12.7294 10.3244H17.2235C17.1882 10.0657 16.9999 9.80698 16.6941 9.50124L13.2118 5.95004C12.9177 5.6443 12.647 5.45616 12.3882 5.42088V9.98337C12.3882 10.2068 12.5059 10.3244 12.7294 10.3244Z" fill="#8086F9"/>
@ -124,7 +124,7 @@
</svg>
Скачать Руководство по эксплуатации
</div>
<div class="download-file" onclick="window.open(`https://transportsoft.ru/docs/argus/life_cycle.pdf`, '_blank');">
<div class="download-file" onclick="window.open(`http://transportsoft.ru/docs/argus/life_cycle.pdf`, '_blank');">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<g clip-path="url(#clip0_49_1939)">
<path d="M12 23.9883C18.5647 23.9883 24 18.5439 24 11.9941C24 5.43264 18.5529 0 11.9882 0C5.43529 0 0 5.43264 0 11.9941C0 18.5439 5.44705 23.9883 12 23.9883ZM12 21.9892C6.44705 21.9892 2.01176 17.5444 2.01176 11.9941C2.01176 6.44391 6.43529 1.99903 11.9882 1.99903C17.5411 1.99903 22 6.44391 22 11.9941C22 17.5444 17.5529 21.9892 12 21.9892ZM9.19999 18.3204H15.3412C16.6471 18.3204 17.2941 17.6502 17.2941 16.3333V11.2768H12.6353C11.8235 11.2768 11.4353 10.9006 11.4353 10.0892V5.35033H9.19999C7.90587 5.35033 7.24704 6.02059 7.24704 7.33759V16.3333C7.24704 17.662 7.90587 18.3204 9.19999 18.3204ZM12.7294 10.3244H17.2235C17.1882 10.0657 16.9999 9.80698 16.6941 9.50124L13.2118 5.95004C12.9177 5.6443 12.647 5.45616 12.3882 5.42088V9.98337C12.3882 10.2068 12.5059 10.3244 12.7294 10.3244Z" fill="#8086F9"/>
@ -137,7 +137,7 @@
</svg>
Скачать Жизненный цикл
</div>
<div class="download-file" onclick="window.open(`https://transportsoft.ru/docs/argus/installation.pdf`, '_blank');">
<div class="download-file" onclick="window.open(`http://transportsoft.ru/docs/argus/installation.pdf`, '_blank');">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<g clip-path="url(#clip0_49_1939)">
<path d="M12 23.9883C18.5647 23.9883 24 18.5439 24 11.9941C24 5.43264 18.5529 0 11.9882 0C5.43529 0 0 5.43264 0 11.9941C0 18.5439 5.44705 23.9883 12 23.9883ZM12 21.9892C6.44705 21.9892 2.01176 17.5444 2.01176 11.9941C2.01176 6.44391 6.43529 1.99903 11.9882 1.99903C17.5411 1.99903 22 6.44391 22 11.9941C22 17.5444 17.5529 21.9892 12 21.9892ZM9.19999 18.3204H15.3412C16.6471 18.3204 17.2941 17.6502 17.2941 16.3333V11.2768H12.6353C11.8235 11.2768 11.4353 10.9006 11.4353 10.0892V5.35033H9.19999C7.90587 5.35033 7.24704 6.02059 7.24704 7.33759V16.3333C7.24704 17.662 7.90587 18.3204 9.19999 18.3204ZM12.7294 10.3244H17.2235C17.1882 10.0657 16.9999 9.80698 16.6941 9.50124L13.2118 5.95004C12.9177 5.6443 12.647 5.45616 12.3882 5.42088V9.98337C12.3882 10.2068 12.5059 10.3244 12.7294 10.3244Z" fill="#8086F9"/>
@ -150,7 +150,7 @@
</svg>
Скачать Инструкцию по установке экземпляра ПО
</div>
<div class="download-file" onclick="window.open(`https://transportsoft.ru/docs/argus/functional.pdf`, '_blank');">
<div class="download-file" onclick="window.open(`http://transportsoft.ru/docs/argus/functional.pdf`, '_blank');">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<g clip-path="url(#clip0_49_1939)">
<path d="M12 23.9883C18.5647 23.9883 24 18.5439 24 11.9941C24 5.43264 18.5529 0 11.9882 0C5.43529 0 0 5.43264 0 11.9941C0 18.5439 5.44705 23.9883 12 23.9883ZM12 21.9892C6.44705 21.9892 2.01176 17.5444 2.01176 11.9941C2.01176 6.44391 6.43529 1.99903 11.9882 1.99903C17.5411 1.99903 22 6.44391 22 11.9941C22 17.5444 17.5529 21.9892 12 21.9892ZM9.19999 18.3204H15.3412C16.6471 18.3204 17.2941 17.6502 17.2941 16.3333V11.2768H12.6353C11.8235 11.2768 11.4353 10.9006 11.4353 10.0892V5.35033H9.19999C7.90587 5.35033 7.24704 6.02059 7.24704 7.33759V16.3333C7.24704 17.662 7.90587 18.3204 9.19999 18.3204ZM12.7294 10.3244H17.2235C17.1882 10.0657 16.9999 9.80698 16.6941 9.50124L13.2118 5.95004C12.9177 5.6443 12.647 5.45616 12.3882 5.42088V9.98337C12.3882 10.2068 12.5059 10.3244 12.7294 10.3244Z" fill="#8086F9"/>
@ -163,6 +163,19 @@
</svg>
Скачать Функциональные характеристики
</div>
<div class="download-file" onclick="window.open(`http://transportsoft.ru/docs/argus/certificate.pdf`, '_blank');">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
<g clip-path="url(#clip0_49_1939)">
<path d="M12 23.9883C18.5647 23.9883 24 18.5439 24 11.9941C24 5.43264 18.5529 0 11.9882 0C5.43529 0 0 5.43264 0 11.9941C0 18.5439 5.44705 23.9883 12 23.9883ZM12 21.9892C6.44705 21.9892 2.01176 17.5444 2.01176 11.9941C2.01176 6.44391 6.43529 1.99903 11.9882 1.99903C17.5411 1.99903 22 6.44391 22 11.9941C22 17.5444 17.5529 21.9892 12 21.9892ZM9.19999 18.3204H15.3412C16.6471 18.3204 17.2941 17.6502 17.2941 16.3333V11.2768H12.6353C11.8235 11.2768 11.4353 10.9006 11.4353 10.0892V5.35033H9.19999C7.90587 5.35033 7.24704 6.02059 7.24704 7.33759V16.3333C7.24704 17.662 7.90587 18.3204 9.19999 18.3204ZM12.7294 10.3244H17.2235C17.1882 10.0657 16.9999 9.80698 16.6941 9.50124L13.2118 5.95004C12.9177 5.6443 12.647 5.45616 12.3882 5.42088V9.98337C12.3882 10.2068 12.5059 10.3244 12.7294 10.3244Z" fill="#8086F9"/>
</g>
<defs>
<clipPath id="clip0_49_1939">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>
Скачать свидетельство о гос регистрации программы для ЭВМ
</div>
<h1 style="padding-bottom: 10px;">ПО для просмотра записей</h1>
<div class="download-file" onclick="window.open(`http://{{VIRTUAL_HOST}}/docs/argus-app.zip`, '_blank');">
@ -181,6 +194,7 @@
<h1 style="padding-bottom: 10px;">Аргус</h1>
<h3>"Автоматизированная регистрация, геопозиционирование и управление системами"</h3>
<h3>Версия 1.0.2 от 8 ноября 2023г.</h3>
<h3>© 2023 ООО “Современные Технологии”</h3>

View File

@ -351,7 +351,7 @@
const camerasPerGroup = 5;
var totalCameras = 12 - 1;
const isSecure = window.location.protocol === "https:";
const baseURL = "https://{{VIRTUAL_HOST}}/http/live.flv";
const baseURL = "http://{{VIRTUAL_HOST}}:4747/http/live.flv";
function stopAllCameras() {
flvPlayers.forEach(player => {

View File

@ -205,7 +205,7 @@
<script>
function playVideo(channel) {
const url = `http://localhost:8081/playback?url=http%3A%2F%2F{{VIRTUAL_HOST}}%2Fhttp%2Fplayback.flv%3Fserial%3D{{Serial}}%26channel%3D${channel}%26quality%3D1%26queryTime%3D{{QueryTime}}%26startTime%3D{{StartTime}}%26endTime%3D{{EndTime}}`;
const url = `http://localhost:8081/playback?url=http%3A%2F%2F{{VIRTUAL_HOST}}:4747%2Fhttp%2Fplayback.flv%3Fserial%3D{{Serial}}%26channel%3D${channel}%26quality%3D1%26queryTime%3D{{QueryTime}}%26startTime%3D{{StartTime}}%26endTime%3D{{EndTime}}`;
window.open(url, '_blank');
}
</script>

View File

@ -181,6 +181,8 @@
<div style="margin-left: 44px; margin-right: 72px; width: calc(100% - 44px - 72px);" class="horizontal-line"></div>
<button style="margin-top: 15px;" id="group-edit" class="button-purple" type="button" onclick="playVideo();">Скачать запись</button>
<h3>Могут возникнуть проблемы с блокировкой всплывающих окон в браузере, при возникновении проблем проверьте что открытие новых окон из этого сайта у вас работает (обычно иконка отображается в правом верхнем углу).</h3>
</section>
</div>
@ -900,7 +902,7 @@ endVideoTimeInput.addEventListener("blur", sendPostRequest);
const serial = selectedDevice.value;
const url = `http://localhost:8081/export?url=https%3A%2F%2F{{VIRTUAL_HOST}}%2Fhttp%2Fdownload.flv%3Fserial%3D${serial}%26channel%3D${channel}%26queryTime%3D${selectedDate}%26startTime%3D${startTime}%26endTime%3D${endTime}%26recordID%3D${resData.dataId}`;
const url = `http://localhost:8081/export?url=http%3A%2F%2F{{VIRTUAL_HOST}}:4747%2Fhttp%2Fdownload.flv%3Fserial%3D${serial}%26channel%3D${channel}%26queryTime%3D${selectedDate}%26startTime%3D${startTime}%26endTime%3D${endTime}%26recordID%3D${resData.dataId}`;
document.getElementById("exportLoading").style.display = 'none';
window.open(url, '_blank');
}

View File

@ -161,6 +161,8 @@
<div style="margin-left: 44px; margin-right: 72px; width: calc(100% - 44px - 72px);" class="horizontal-line"></div>
<button style="margin-top: 15px;" id="group-edit" class="button-purple" type="button" onclick="playVideo();">Запустить запись</button>
<h3>Могут возникнуть проблемы с блокировкой всплывающих окон в браузере, при возникновении проблем проверьте что открытие новых окон из этого сайта у вас работает (обычно иконка отображается в правом верхнем углу).</h3>
</section>
</div>
@ -722,7 +724,7 @@ videoTimeInput.addEventListener("blur", sendPostRequest);
selectedChannel = channel;
const url = `http://localhost:8081/playback?url=https%3A%2F%2F{{VIRTUAL_HOST}}%2Fhttp%2Fplayback.flv%3Fserial%3D${serial}%26channel%3D${channel}%26quality%3D1%26queryTime%3D${selectedDate}%26startTime%3D${startTime}%26endTime%3D${endTime}`;
const url = `http://localhost:8081/playback?url=http%3A%2F%2F{{VIRTUAL_HOST}}:4747%2Fhttp%2Fplayback.flv%3Fserial%3D${serial}%26channel%3D${channel}%26quality%3D1%26queryTime%3D${selectedDate}%26startTime%3D${startTime}%26endTime%3D${endTime}`;
window.open(url, '_blank');
}
</script>