Создание модуля
В этом руководстве описан процесс создания собственного модуля для GML. Модули позволяют расширять функциональность лаунчера и серверной части, добавляя новые возможности и интеграции.
Структура модуля
Каждый модуль GML имеет стандартную структуру каталогов:
Папка frontend
Папка frontend предназначена для хранения файлов, связанных с пользовательским интерфейсом модуля. В текущей версии GML эта папка пока не задействована, но в будущих версиях будет использоваться для хранения компонентов пользовательского интерфейса.
Папка backend
Папка backend содержит все необходимые DLL-файлы для работы модуля на стороне сервера. Здесь должны находиться:
Основная DLL модуля (например,
Gml.Web.Api.OAuth2.dll)Все зависимости, необходимые для работы модуля
Дополнительные файлы конфигурации (если требуются)
Пример содержимого папки backend:
Файл product.json
Файл product.json содержит метаданные модуля, которые используются системой GML для идентификации, отображения и управления модулем. Этот файл должен находиться в корневой директории модуля.
Пример содержимого файла product.json:
Описание полей product.json
Поле | Тип | Описание |
|---|---|---|
Id | string (UUID) | Уникальный идентификатор модуля в формате UUID |
Name | string | Название модуля, отображаемое в интерфейсе |
Description | string | Краткое описание функциональности модуля |
ProjectLink | string (URL) | Ссылка на страницу проекта или документацию |
ImageUrl | string (URL) | Ссылка на изображение/иконку модуля |
IsFree | boolean | Флаг, указывающий, является ли модуль бесплатным |
Price | number | Цена модуля (если IsFree = false) |
Categories | array | Массив категорий, к которым относится модуль |
Каждая категория в массиве Categories содержит следующие поля:
Id: Уникальный идентификатор категорииName: Название категории
Создание собственного модуля
Для создания собственного модуля выполните следующие шаги:
Создайте структуру каталогов модуля (frontend, backend, product.json)
Разработайте необходимую функциональность в виде DLL-библиотеки
Поместите DLL-библиотеку и все зависимости в папку backend
Создайте файл product.json с метаданными вашего модуля
Протестируйте модуль в локальной среде
Упакуйте модуль для распространения
Рекомендации по разработке
Используйте уникальный UUID для идентификатора модуля
Предоставьте понятное и информативное описание модуля
Укажите корректные категории для облегчения поиска модуля
Обеспечьте совместимость с текущей версией GML
Документируйте API и функциональность вашего модуля
Примеры модулей
Вы можете ознакомиться с примерами существующих модулей: