feat: селектор режима и стенда (v1.2.30)

Новое:
- Селектор режима (🎭 Эмуляция / ☁️ Облако) над версией
- Селектор стенда (DEV/TEST/PROD) в режиме эмуляции
- В эмуляции — всё в полигон (/stand/api/v1/svc)
- В эмуляции — токен дезактивирован
- По умолчанию: эмуляция + TEST

Изменено:
- auth.py: get_mode(), get_polygon_stand(), get_client() с префиксом стенда
- main.py: action=set_mode, единый get_client() вместо real_client/inst_client
- index.html: селекторы, disable токена
- service_list.py: обрезка polygon_ префикса
- api_test.py: get_real_client → get_client

Задокументировано в HISTORY/2026-08-03-session.md.
This commit is contained in:
2026-08-03 08:50:14 +04:00
parent 78e1c4dc3b
commit 0a62eb3c58
6 changed files with 156 additions and 108 deletions
+4 -1
View File
@@ -33,10 +33,13 @@ def load_service_ids(stand="test"):
"""Вернуть set разрешённых service_id для указанного стенда.
Args:
stand: str — "dev" или "test".
stand: str — "dev", "test", или "polygon_test" (с префиксом эмуляции).
Returns:
set[int] — множество service_id. Пустой set если файла нет → показываем все."""
# Обрезать префикс "polygon_" если есть → "polygon_test" → "test"
if stand.startswith("polygon_"):
stand = stand[len("polygon_"):]
path = os.path.join(_CONFIG_DIR, f"services_{stand}.txt")
ids = set()
try: