Прототип приложения anod

Прототип anod - это средство исполнения кода языка JavaScript расширенного системой навыков.
Установка
Вы можете установить прототип anod, скачав нужный файл .xiteex из каталога загрузки anod, в соответствии с вашей ОС и архитектурой или воспользоваться поставщиком приложений, детали ниже.
  • Для установки прототипа anod из файла .xiteex, на главном окне программы XITEEX нажмите кнопку НАСТРОЙКИ, далее Управление приложениями > Установка > Из файла.
  • Хеш

    Файл

    SHA256

    anod_linux_amd64.xiteex

    9e9daf1d31a96ae4bf808bd851bc155b452c741db67bec7e37a69235185aeb50

    anod_windows_amd64.xiteex

    3ff63771ebdee11b2c40573c39207eb35bd590e61ae83f2481a33602f3246b99

    anod_darwin_arm64.xiteex

    f99cf989324d33d7031339a2b6ba3e0eda10f0eb47f680c3650af2e115f752c7

  • Если у вас установлен поставщик приложений, то для установки anod на главном окне программы XITEEX нажмите кнопку НАСТРОЙКИ, далее Управление приложениями > Установка > По открытому ключу. Далее введите имя приложения anod и открытый ключ для поставщика приложений.
    Открытый ключ для поставщика приложений:
    https://disk.yandex.ru/d/NZ8tzWwuqbs_CA
Запуск кода JavaScript
Для запуска кода JavaScript необходимо запустить прототип anod и ввести параметры:
  • Каталог или URL шаблона
    Шаблон anod представляет собой расположение (каталог на диске или адрес в сети) с основным файлом кода JavaScript с именем main.js, так же шаблон может иметь дополнительные файлы, в зависимости от вашей реализации.
    Выберите необходимый вам вариант запуска и укажите каталог или URL шаблона.
  • ПИН
    ПИН или ПИН-код - это средство защиты anod. Если при запуске anod не указать ПИН или указать неверный ПИН, то потенциально опасные навыки anod и функционал в коде JavaScript не сработает. Актуальный ПИН-код указан в файле pin.txt в каталоге установленного у вас прототипа anod, вы можете изменить ПИН-код на любой кроме пустого. По умолчанию указан ПИН-код 0000, измените его после установки anod.
Встроенный шаблон test
Прототип anod в своем дистрибутиве содержит подкаталог test — встроенный шаблон, который предназначен для тестирования и демонстрации простой реализации JavaScript бэкенда на anod, а также является справочной системой по навыкам anod.
Для запуска встроенного шаблона test при запуске anod выберите каталог test в каталоге установленного у вас прототипа anod. После запуска встроенного шаблона test в открывшемся окне браузера отобразится стандартная страница anod с надписью «anod». Откройте на странице anod инструменты разработчика (Ctrl+Shift+I) и перейдите на вкладку консоли (Console). Если запуск шаблона test прошел успешно, то в сообщениях консоли можно увидеть ссылки на справку по навыкам anod (The anod skills list).
Масштабирование
anod
Ниже представлена информация
для
масштабирования anod.
Шаблоны подстановки
Для передачи параметров и некоторых настроек в код JavaScript (main.js) используются шаблоны подстановки вида {{name}}.
Важно: Шаблоны подстановки в одном тексте можно использовать только один раз, повторные указания одного и того же шаблона подстановки будут проигнорированы при замене!
Можно использовать следующие шаблоны подстановки:
  • {{entry_point}}
    Возвращает текущее значение параметра расположения текущего шаблона anod (каталог или URL).
  • {{sec}}
    Возвращает сегмент безопасности (часть endpoint, случайно сгенерированный hex-код) сгенерированный при запуске anod и используемый в сервисах anod, может быть изменен вызовом навыков anod.
  • {{lang}}
    Возвращает язык интерфейса XITEEX на момент запуска anod.
Переводы текстов контента
В anod для перевода текстов контента есть своя реализация, когда через навыки anod в коде происходит загрузка словаря формируемого на основе файла tr.csv шаблона anod. tr.csv - это таблица в которой первая строка (заголовок) содержит столбцы с указанием языка и столбцы данных разделены запятой, где первый столбец — это оригинальный текст на английском (en), а второй и последующие столбцы — это текст перевода с английского на язык указанный в заголовке столбца таблицы. Пример реализации получения словаря в виде коллекции Map в код JavaScript см. во встроенном шаблоне test.
Сервисы anod
Каждый шаблон anod может запускать и использовать следующие сервисы anod:
  • Сервис обработчика bigdata
    Это локальный http сервис предназначенный для обмена большими данными между кодом JavaScript и anod по ID.
  • Сервис прокси
    Это локальный http-сервис предназначенный для отправки http-запросов из кода JavaScript.
Сервис обработчика bigdata
В anod для для передачи данных из кода JavaScript шаблона в anod и обратно может использоваться сервис обработчика bigdata. Для запуска сервиса обработчика bigdata необходимо использовать навык anod.up (см. информацию о навыках из встроенного шаблона test). После запуска сервиса вы можете получать доступ к сервису обработчика bigdata по протоколу http используя стандартные средства JavaScript, например fetch. Пример реализации взаимодействия с сервисом обработчика bigdata см. во встроенном шаблоне test.
Сервис прокси
Для запуска сервиса прокси необходимо использовать навык anod.up (см. информацию о навыках из встроенного шаблона test), для запуска сервиса прокси белый список должен быть не пустым. После запуска сервиса вы можете получать доступ к сервису прокси по протоколу http. Для формирования адреса сервиса прокси вне обработчика бэкенда можно использовать навык proxy.endpoint, внутри можно использовать значения входящей структуры обработчика бэкенда AnodURL, AnodSec и Proxy.
Сервис прокси имеет следующую структуру взаимодействия:
  • Запрос POST
    • Заголовок:
    'Content-Type': 'application/json'

    • Тело запроса (JSON):
    {url: '', method: '', headers: { }, body: ''}
  • Запрос OPTIONS CORS
    Выполняется браузером.
  • Ответ на запрос POST (статус 200)
    • Заголовок:
    'Access-Control-Allow-Origin': '*'
    'Access-Control-Allow-Methods': 'POST, OPTIONS'
    'Content-Type': 'application/json'

    • Тело ответа (JSON):
    {success: true, status: <int>, headers: { }, body: ''}
  • Ответ на запрос OPTIONS CORS (статус 204)
    • Заголовок:
    'Access-Control-Allow-Origin': '*'
    'Access-Control-Allow-Methods': 'POST, OPTIONS'

    • Тело ответа:
    (пусто)
  • Ошибка прокси (статус не 200/204)
    • Заголовок:
    'Access-Control-Allow-Origin': '*'
    'Access-Control-Allow-Methods': 'POST, OPTIONS'
    'Content-Type': 'application/json'

    • Тело ответа (JSON):
    {success: false, error: ''}