Интерфейс клиента без технических подробностей; дубли убраны
Техника — только в режиме разработчика (devOn): - версии: клиенту — bj, шлюз НРД, СКЗИ, QUIK, DEPO, без «Подробностей» (Java, bj-crypto, пути, установщик, ОС, PostgreSQL — разработчикам) - Криптография: строки crypto-service/java, параметры провайдера и сокет, серийные номера, журнал сверки (клиенту — только при ошибке), дамп справочника и путь nsd-certs; убрана карточка «Ключ организации» — дубль сводки - НРД: строка версии ИШ (дубль сводки), «Расширенные» (адреса, контейнеры, config.xml), имя профиля ключа, адрес канала; контур по-русски - Обновления: имена файлов и служб, адрес артефактории и ключ издателя - Диагностика: имена служб и сырые состояния; справочник участников — без кодов - ключи ролей и модулей лицензии, путь users.json, DSN/Ping/in-memory, FTV_M2M, путь Валидаты и служба bj-crypto в мастере, «проверена ZETIT», Samba Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
@@ -50,7 +50,7 @@
|
||||
<div class="card" style="margin:10px 0">
|
||||
<h3 style="margin:0 0 4px">Шлюз на этом сервере</h3>
|
||||
<div id="ig-head" class="muted">Проверяю…</div>
|
||||
<p class="muted" style="font-size:12px;margin:4px 0 0">Версию ИШ проверяет ZETIT; новые приходят с обновлением bj.</p>
|
||||
<p class="muted" style="font-size:12px;margin:4px 0 0">Новые версии шлюза приходят с обновлением bj и ставятся сами.</p>
|
||||
<div id="ig-reinst" style="display:none;margin-top:10px"><button type="button" class="btn" id="ig-bnd">Установить ИШ</button> <span class="muted" id="ig-bnd-v" style="font-size:12.5px"></span></div>
|
||||
<div id="ig-ov" style="display:none;position:fixed;inset:0;z-index:9999;background:rgba(20,24,35,.55);align-items:center;justify-content:center">
|
||||
<div class="card" style="max-width:600px;width:92%;margin:0;box-shadow:0 10px 40px rgba(0,0,0,.25)">
|
||||
@@ -105,7 +105,7 @@
|
||||
<label class="f">Логин<input name="user" value="igate-share" autocomplete="off" spellcheck="false"></label>
|
||||
<label class="f">Пароль (от 8 символов)<span style="display:flex;gap:6px"><input name="password" type="text" autocomplete="new-password" spellcheck="false" placeholder="пусто — прежний" style="flex:1;min-width:0"><button type="button" class="btn sm" id="ig-sh-gen" title="Создать надёжный пароль">Сгенерировать</button></span></label>
|
||||
</div>
|
||||
<small id="ig-sh-pwnote" class="muted" style="display:block;font-size:12.5px;margin-top:6px">Пароль вводят в Windows при первом открытии папок. Запишите его: bj передаёт пароль в Samba и показать позже не сможет. Пустое поле при повторном сохранении оставляет прежний пароль.</small>
|
||||
<small id="ig-sh-pwnote" class="muted" style="display:block;font-size:12.5px;margin-top:6px">Пароль вводят в Windows при первом открытии папок. Запишите его: bj сохраняет пароль для сетевых папок и показать позже не сможет. Пустое поле при повторном сохранении оставляет прежний пароль.</small>
|
||||
<div id="ig-sh-domain" hidden>
|
||||
<div id="ig-sh-access" class="muted" style="font-size:13px;margin-top:10px"></div>
|
||||
<div id="ig-sh-join" hidden style="margin-top:10px">
|
||||
@@ -139,6 +139,7 @@
|
||||
<div id="ig-cout" style="margin-top:8px;font-size:13px"></div>
|
||||
</div>
|
||||
</div>
|
||||
<script>var IGDEV={{if devOn}}true{{else}}false{{end}};</script>
|
||||
<script>
|
||||
(function(){
|
||||
var head=document.getElementById('ig-head'), tb=document.getElementById('ig-ct'), cout=document.getElementById('ig-cout'), out=document.getElementById('ig-out'), lg=document.getElementById('ig-log');
|
||||
@@ -241,7 +242,7 @@
|
||||
} else {
|
||||
p.set('mode',mode()); if(f.enabled.checked) p.set('enabled','1');
|
||||
if(!d){ p.set('user',f.user.value.trim()); p.set('password',f.password.value); }
|
||||
o.textContent='Сохраняю… (первый раз — установка Samba, до пары минут)';
|
||||
o.textContent='Сохраняю… (первый раз — до пары минут)';
|
||||
}
|
||||
var pwSet=(!d)?f.password.value:'';
|
||||
post(url,p).then(function(r){
|
||||
@@ -261,7 +262,7 @@
|
||||
var running=d.installed&&d.engine==='Running';
|
||||
var rb=document.getElementById('ig-rb'); if(rb){ var can=d.rollback&&d.rollback!==d.version; rb.style.display=can?'block':'none'; if(can) document.getElementById('ig-rb-v').textContent=d.rollback; }
|
||||
if(!d.installed) head.innerHTML=bad('ИШ на этом сервере не установлен');
|
||||
else head.innerHTML=(running?ok('ИШ '+d.version+' установлен и работает'):bad('ИШ '+d.version+' установлен, но не работает: движок '+(d.engine||'не отвечает')+', служба '+d.service));
|
||||
else head.innerHTML=(running?ok('ИШ '+d.version+' установлен и работает'):bad('Шлюз НРД установлен, но не работает'+(IGDEV?': движок '+(d.engine||'не отвечает')+', служба '+d.service:'')));
|
||||
if(d.busy) head.innerHTML='<span style="color:var(--accent)">⟳ Шлюз перезапускается — '+esc(d.busy)+'; состояние — последнее известное</span>';
|
||||
if(!running && d.keymedia==='missing'){ head.innerHTML='<span style="color:var(--warn)">⚠ ИШ '+esc(d.version)+' ждёт флешку с ключом подписи — её нет в сервере. Вставьте флешку: bj перезапустит шлюз сам. Переустанавливать ИШ не нужно.</span>'; }
|
||||
// не стоит или не работает — одна кнопка: поставить заново проверенную версию с сервера (систему переставлять не нужно)
|
||||
@@ -269,11 +270,11 @@
|
||||
if(d.installing){ // bj сам ставит/обновляет ИШ: остановка шлюза — штатная, переустанавливать не нужно
|
||||
head.innerHTML='<span style="color:var(--accent)">⟳ Идёт установка ИШ'+(d.upgrade_to?' '+esc(d.upgrade_to):'')+' — '+esc(d.installing)+'. Шлюз недоступен 1–3 минуты; настройки и каналы сохраняются.</span>'; ri.style.display='none';
|
||||
} else if(d.upgrade_to){
|
||||
head.innerHTML+='<div class="muted" style="font-size:13px;margin-top:4px">⟳ Получена версия ИШ '+esc(d.upgrade_to)+' (проверена ZETIT) — bj обновит шлюз сам в ближайшие минуты; настройки и каналы сохранятся.</div>';
|
||||
head.innerHTML+='<div class="muted" style="font-size:13px;margin-top:4px">⟳ Получена версия ИШ '+esc(d.upgrade_to)+' — bj обновит шлюз сам в ближайшие минуты; настройки и каналы сохранятся.</div>';
|
||||
}
|
||||
if(d.installing||d.upgrade_to) ovStart(); // обновление идёт или вот-вот начнётся — страница перекрыта ходом
|
||||
if(!running){
|
||||
if(d.bundled){ bb.style.display=''; bb.textContent=d.installed?'Установить ИШ заново':'Установить ИШ'; bv.textContent='версия '+d.bundled+' — проверена ZETIT, дистрибутив на сервере'; }
|
||||
if(d.bundled){ bb.style.display=''; bb.textContent=d.installed?'Установить ИШ заново':'Установить ИШ'; bv.textContent='версия '+d.bundled; }
|
||||
else { bb.style.display='none'; bv.textContent='Дистрибутива ИШ на сервере нет — он приходит с обновлением bj («Настройка → Обновления»).'; }
|
||||
}
|
||||
var dep=d.deponent||'', cr=document.getElementById('ig-crypto').value;
|
||||
@@ -287,8 +288,8 @@
|
||||
if(d.installed) a.push('<button type="button" class="btn sm" data-act="contour" data-c="'+x[0]+'">Создать канал</button>');
|
||||
pill='Канала нет'; cls='no';
|
||||
} else {
|
||||
it(true,'канал <b>'+esc(ch.code)+'</b> <span class="muted">'+esc(ch.crypto+' · '+ch.endpoint)+'</span>');
|
||||
it(!!ch.profile, ch.profile?'ключ: профиль '+esc(ch.profile):'ключ этого контура не установлен');
|
||||
it(true,'канал <b>'+esc(ch.code)+'</b>'+(IGDEV?' <span class="muted">'+esc(ch.crypto+' · '+ch.endpoint)+'</span>':''));
|
||||
it(!!ch.profile, ch.profile?(IGDEV?'ключ: профиль '+esc(ch.profile):'ключ установлен'):'ключ этого контура не установлен');
|
||||
it(!!ch.enabled, ch.enabled?'канал включён':'канал выключен — включится после установки ключа');
|
||||
var ready=ch.enabled&&ch.profile;
|
||||
if(act){ pill='● Активный'; cls='cur'; }
|
||||
|
||||
Reference in New Issue
Block a user