feat(admin): add runtime overview and independent saved UTM link builder
deploy-preland / deploy zoomstage.online (push) Successful in 57s
deploy-preland / deploy zoomstage.online (push) Successful in 57s
This commit is contained in:
1 parent
48c71f3300
commit
2cfa2e2d2e
10 files changed
+421
-8
No files matched your search
@@ -8,6 +8,27 @@
|
||||
Спецификация и план — `docs/superpowers/{specs,plans}/2026-10-25-preland22-*` в репозитории,
|
||||
копии и фактический статус — в базе знаний, основной реестр — preland#22.
|
||||
|
||||
## Сводка и конструктор ссылки
|
||||
|
||||
Первый экран читает сохранённые конфиги всех подключений: основной сайт, реквизиты,
|
||||
дополнительные поля, default и все веса UTM. У каждой колонки своё время чтения,
|
||||
версия, обновление и ошибка; при отказе прежний снимок явно помечается. Обновление
|
||||
сводки не сбрасывает черновик редактора и не меняет его версию для CAS.
|
||||
|
||||
Конструктор работает отдельно: значения или «Рандом» в восьми списках, затем
|
||||
«Сформировать и сохранить». Последний выбор и точный URL сохраняются на сервере
|
||||
отдельно по ID домена, восстанавливаются после перезагрузки. Изменение списка скрывает
|
||||
старую ссылку до явного сохранения. Значащая цифра стоит на пятой позиции метки,
|
||||
`0` означает выбор по весам. Конструктор не меняет config, default, веса или наборы,
|
||||
не создаёт задания; сохранённый выбор доступен и при недоступном хостинге.
|
||||
|
||||
`GET /api/link-builder?target=ID` читает выбор, `POST /api/link-builder` сохраняет
|
||||
`{target,selection}` с ровно восемью каноническими UTM-ключами. Действуют общий вход
|
||||
и CSRF. Состояние находится в приватном `state/link-builder-ID.json` с режимом0600.
|
||||
При переименовании домена меняется origin ссылки, выбор и сохранённые метки остаются.
|
||||
Неизвестная в текущем runtime/catalog группа сопровождается предупреждением;
|
||||
конструктор не исправляет конфигурацию автоматически.
|
||||
|
||||
## Состав и доступы
|
||||
|
||||
`compose.yaml` запускает web и отдельный worker из одного неизменяемого образа. Нужны
|
||||
|
||||
Reference in new issue
Block a user