Skip to content

Core Apps ​

English · Русский

Назначение ​

Используйте coreApps, чтобы открыть один из пяти встроенных интерфейсов администрирования MES или общий экран выбора между ними.

Когда использовать ​

Одно приложение стоит открывать напрямую, если маршрут должен вести в конкретный интерфейс без общего переключателя. Режим выбора подходит для маршрута, на котором пользователь может переходить между всеми пятью интерфейсами. Это только способ навигации и компоновки: доступ по-прежнему определяют API и права текущего пользователя. Если достаточно отдельного CRUD для MetaType, используйте более узкую панель metaTypesCrud.

Предварительные условия и границы ответственности ​

  • Развёрнутый API и права текущего пользователя должны поддерживать выбранную область администрирования.
  • Панель выполняет запросы API, проверяет права, запускает выбранный интерфейс и показывает результат операций.
  • Core Apps предоставляет пять интерфейсов администрирования.
  • JSON выбирает интерфейс, но не настраивает пути API и поведение интерфейса.

Карта возможностей ​

appЧто получает пользователь
orgStructureCRUD бизнес-единиц, связи с ролями и пользователями, назначение роли по умолчанию
rolesРаздел Roles; сейчас это заглушка, а не рабочий сценарий управления ролями
applicationsCRUD иерархии приложений и групп, редактирование JSON-конфигурации, значки, пользователи и правила доступа
dataModelДерево MetaType и MetaLink, атрибуты, методы, варианты жизненного цикла, отложенное раскрытие, CRUD и правила доступа со связями состояний
settingsГлобальные и пользовательские настройки: список, подробности и CRUD
не заданПереключатель пяти интерфейсов; сначала открывается orgStructure

Модель поведения ​

В режиме одного приложения панель показывает только выбранный интерфейс. В режиме выбора слева появляется навигация, а рядом — активный интерфейс. Когда интерфейс открывается или пользователь выполняет действие, панель автоматически запрашивает нужные данные у API и показывает результат в этом интерфейсе.

Запросы DataModel в версии 0.75.0 ​

Когда форме Core Apps нужны варианты полей, панель автоматически запрашивает у API списки MetaType и MetaLink, а также шаблоны жизненного цикла, а затем показывает варианты в форме. В JSON-конфигурации не перечисляются варианты и пути API.

При выборе некорневой строки MetaType или MetaLink панель вызывает GET /MetaTypes/{typeName}/Count или GET /MetaLinks/{linkName}/Count. Число записывается в строку дерева, только пока она остаётся выбранной и не начался более новый запрос количества. Ответ количества не прерывает выполняющееся создание, изменение или удаление. Каждый подходящий выбор строки отправляет новый запрос.

Когда пользователь раскрывает MetaType или MetaLink, панель запрашивает у API потомков, атрибуты и методы. Наследуемые атрибуты остаются отдельными в каждой родительской ветке, даже если это один и тот же атрибут.

Варианты, значения по умолчанию и приоритеты ​

  • Не задавайте app, чтобы открыть режим выбора; сначала будет активен orgStructure.
  • Для режима одного приложения укажите один точный ключ: orgStructure, roles, applications, dataModel или settings.
  • Значение app из конфигурации всегда имеет приоритет над состоянием переключателя.
  • Разнесите администрирование по отдельным маршрутам, если пользователь не должен видеть переключатель или несвязанные интерфейсы.

Ограничения ​

  • roles пока показывает заглушку и не поддерживает управление ролями.
  • Пути доменных API, семантика прав, формы и поведение интерфейсов не настраиваются через JSON coreApps.
  • Состояние переключателя существует только во время выполнения приложения.
  • Для количества объектов и сведений о наследовании DataModel использует GET /MetaTypes/{typeName}/Count, GET /MetaLinks/{linkName}/Count и поля isInherited, inheritedFrom, notifyEventType в API.
  • Локальная демонстрация показывает только settings в режиме одного приложения.
  • Изменения Settings в демонстрационном сценарии общие для одного процесса сервера и сбрасываются только после его перезапуска. Поэтому ссылка подходит для изолированного однопользовательского или ограниченного стенда, но не для общего публичного многопользовательского сервиса.

Минимальная конфигурация ​

json
{
  "id": "applications-admin",
  "type": "coreApps",
  "app": "applications"
}

Сценарий: единый интерфейс администрирования ​

json
{
  "version": "1.0.0",
  "layout": { "padding": true },
  "panel": {
    "id": "core-administration",
    "type": "coreApps"
  }
}

Ожидаемый результат: переключатель показывает пять интерфейсов и сначала открывает организационную структуру. Applications и DataModel показывают действия, разрешённые текущему пользователю. После выбора Settings панель запрашивает у API общие и пользовательские настройки и показывает их.

Для рабочего окружения создайте отдельные приложения, например:

json
{ "id": "org-admin", "type": "coreApps", "app": "orgStructure" }
json
{ "id": "data-model-admin", "type": "coreApps", "app": "dataModel" }
json
{ "id": "settings-admin", "type": "coreApps", "app": "settings" }

Демонстрационный сценарий ​

Открыть демонстрацию Core Apps только с Settings

В демонстрации можно просматривать, создавать, изменять и удалять общие и пользовательские настройки. Изменения сохраняются во временных данных; чтобы восстановить начальные настройки, перезапустите dev-сервер панели.

Демонстрация показывает только app: "settings". Чтобы открыть orgStructure, applications, dataModel или режим выбора, настройте нужный интерфейс в приложении с подходящим API и войдите с необходимыми правами.

Точный справочник параметров ​

Связанные руководства и следующий шаг ​

Сначала откройте демонстрацию Settings и посмотрите компоновку одного приложения. Чтобы продолжить с другим интерфейсом Core Apps, настройте его в целевом приложении и откройте под пользователем с необходимыми правами.