Files
Bridge-and-Join-s/internal/lkgateway/web/templates/admin_help.html
T
zuevav fcded5fe17 Справка: технические страницы только в нашей сборке (build-tag internaldocs)
Из клиентской сборки убрана проектная документация, читавшаяся прямым `strings`:
архитектура обмена с НРД, протокол событий bj↔bj2depo (FTV_M2M, 41 КБ), схема
базы, криптография, QUIK МНП. Это самая крупная и самая дешёвая утечка знаний —
её не нужно было даже декомпилировать.

Файлы перенесены в web/templates/internal/ (выпадают из общего embed-глоба) и
встраиваются только при `go build -tags internaldocs` (internaldocs_on.go).
По умолчанию (клиентский релиз, build-release.sh) страницы заменяются заглушкой
«доступно на портале» (internaldocs_off.go); ссылки на них в индексе справки
показываются под {{if internalDocs}}. Операторские страницы (ручной ввод, робот,
внешние системы, API ЛК) остаются — они нужны на месте.

Клиентская сборка: -27 тыс. символов внутренней документации, «Согласовано
10.09», «Для программиста Fancy», «как устроен обмен» → 0 совпадений.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4YVo4UMopqT5DzicqpPjL
2026-09-18 20:05:06 +03:00

64 lines
5.2 KiB
HTML

{{define "content"}}
<div class="card">
<h2>Инструкции и подсказки</h2>
<p class="muted">Краткие гайды по основным интеграциям и эксплуатации Bridge-and-Join-s. Открывайте раздел и быстро находите команду или объяснение.</p>
</div>
<div class="grid">
{{if internalDocs}}<a href="/admin/help/database" style="text-decoration:none">
<div class="card" style="height:100%">
<h2 style="color:var(--accent)">База данных →</h2>
<p class="muted">PostgreSQL: подключение, схемы <code>fansy</code> / <code>fansy_staging</code> / <code>m2m_core</code>, что подгружается извне (ETL Fansy) и что пишет сама система. Учётные записи, гранты, миграции.</p>
</div>
</a>{{end}}
<a href="/admin/help/lk-api" style="text-decoration:none">
<div class="card" style="height:100%">
<h2 style="color:var(--accent)">API личного кабинета →</h2>
<p class="muted">REST-контракт ESIA Finance V1: <code>POST /api/v1/back_office/claims/</code>, GET/PATCH-операции, формат callback'ов, аутентификация Basic, примеры запросов curl.</p>
</div>
</a>
{{if internalDocs}}<a href="/admin/help/crypto" style="text-decoration:none">
<div class="card" style="height:100%">
<h2 style="color:var(--accent)">Криптография (Валидата) →</h2>
<p class="muted">Установка АПК «Валидата Клиент L» на Astra Linux SE, подключение через PKCS#11, проверка подписи и квитанций НРД.</p>
</div>
</a>{{end}}
<a href="/admin/help/systems" style="text-decoration:none">
<div class="card" style="height:100%">
<h2 style="color:var(--accent)">Внешние системы →</h2>
<p class="muted">ИШ НРД ({{if devOn}}профили GUEST/TEST3/PROD{{else}}тестовый и боевой контуры{{end}}), команда Fansy (ETL в staging), уведомления (e-mail, Yandex Messenger, Telegram), порядок согласования.</p>
</div>
</a>
<a href="/admin/help/manual" style="text-decoration:none">
<div class="card" style="height:100%">
<h2 style="color:var(--accent)">Ручной ввод M2M →</h2>
<p class="muted">Исходящий перевод по бумажному поручению клиента: ввод, сверка с учётной и торговой системами, обязательные отметки, отправка, поручение 16, документы НРД.</p>
</div>
</a>
{{if devOn}}<a href="/admin/help/robot" style="text-decoration:none">
<div class="card" style="height:100%">
<h2 style="color:var(--accent)">Тестирование с роботом MOEX МОСТ →</h2>
<p class="muted">Робот НРД на TEST3 (код <code>MC0012500000</code>), 4 тестовых сценария (отказ / принять все / частично / встречный перевод), управление через DocumentSeries и DocumentNumber, тестовые наборы депозитариев и кодов ошибок.</p>
</div>
</a>{{end}}
{{if internalDocs}}<a href="/admin/help/architecture" style="text-decoration:none">
<div class="card" style="height:100%">
<h2 style="color:var(--accent)">Архитектура обмена с НРД →</h2>
<p class="muted">Полная схема: bj-server → ИШ (на Astra Linux ВМ) → ONYX (НРД) → {{if devOn}}робот-автотест{{else}}депозитарий-контрагент{{end}}. Кто на чьей стороне, какое СКЗИ, какие сертификаты, FAQ.</p>
</div>
</a>{{end}}
{{if internalDocs}}<a href="/admin/help/fancy-events" style="text-decoration:none">
<div class="card" style="height:100%">
<h2 style="color:var(--accent)">bj ↔ bj2depo: трансферные таблицы и события — для программиста Fancy →</h2>
<p class="muted">FTV_M2M / FTV_M2M_LINES / FTV_M2M_EVENTS: какие идентификаторы даёт bj, словарь событий в обе стороны (BJ_* и DEPO_*), правила STATE и идемпотентности, порядок по этапам, примеры SQL, открытые вопросы.</p>
</div>
</a>{{end}}
{{if internalDocs}}<a href="/admin/help/quik" style="text-decoration:none">
<div class="card" style="height:100%">
<h2 style="color:var(--accent)">QUIK МНП: подготовка к M2M — для администратора QUIK →</h2>
<p class="muted">Чек-лист для QUIK Administrator: классы INSTROUTM2M / INSTRINM2M, инструменты, включение типов «Ввод/Вывод ЦБ М2М», права технологического пользователя, перезапуск модуля. Со ссылками на страницы документов ARQA и разбором ошибок.</p>
</div>
</a>{{end}}
</div>
{{end}}