bas-docs


Project maintained by CheshireCaat Hosted on GitHub Pages — Theme by mattgraham

Структура модулей BAS

Все модули BAS расположены по пути apps\Номер.Версии\modules. В данной папке вы можно найти стандартные плагины, которые использует программа, и свои личные модули.

Структура

Каждый модуль имеет отдельную папку, внутри которой расположены все файлы, требуемые для его работы.

Название папки с модулем может быть любым, но рекомендуется называть её так же, как и сам плагин, чтобы избежать путаницы и быстро найти его среди прочих модулей.

В Browser Automation Studio, в верхнем контекстном меню вы можете найти опцию Менеджер модулей. С помощью него вы можете:

Минимальный набор файлов следующий:

Первый пример

Если вы используете только Браузер и действие у нас по сути одно, то логика размещается в файле .js формата. Типичный для данного случая модуль AjaxReCaptcha.

Основной файл - browser.js. Экшенов тут нет, т.е весь процесс происходит без использования конструктора действий. Этот файл подключается к модулю через манифест, в разделе browser.

Второй пример

Если мы используем C++, то, кроме прочего, мы должны добавить .dll файл, библиотеку, в которой содержится вся основная логика. Типичный для данного случая модуль CurlWrapper.

Основной файл здесь - curlwrapper.dll. Экшенов тут так же нет. Этот файл подключается к модулю через манифест, в разделе dll.

Третий пример

Если мы используем логику, которая базируется на JS, то удобнее всего размещать код в отдельном файле, если действий очень много. А в действиях уже вызывать нужный код из этого файла. Типичный для данного случая модуль ReCaptcha2.

Основной файл здесь - engine.js. В данном модуле уже присутствуют экшены, которые возможно будет увидеть через конструктор. Этот файл подключается к модулю через манифест, в разделе engine.

Итог

Случаи могут быть самыми разными, каждый зависит от ситуации. Прелесть модульной системы в том, что мы можем создавать как простые функции, работающие по принципу одного из примеров, а так же комбинировать все эти примеры и создавать высоконагруженные, сложные системы.

Файлы

Иконка модуля - файл в формате .png размером 32x32. Имя файла обязательно должно совпадать с названием модуля.

Её мы будем видеть в разделе конструктора, на экшенах в виде маленькой иконки, в поиске по действиям и так далее.

Файл манифеста - файл с именем manifest.json.

Данный файл отвечает за общие настройки модуля, его локализацию.

Именно через него подключаются все зависимости, о которых мы говорили выше. Именно он содержит конечную информацию об используемых действиях. То есть, даже если мы создали все файлы действия, но не добавили его в манифест - его мы в BAS не увидим

Файлы действий

Данные файлы содержат всю основную логику работы каждого конкретного действия.

Структура файла:

имя_действия_code.js - содержит код, который будет добавлен в ваш скрипт при использовании действия

имя_действия_select.js - содержит код, который связывает интерфейс и конечные действия, а так же проверки для переменных и многое другое.

имя_действия_interface.js - содержит код интерфейса, т.е. именно то, что мы с вами видим в конструкторе.

Файл движка JS - файл с именем engine.js и ему подобные.

Данный файл отвечает за логику JS кода, который будет выполняться в разных экшенах.

Файл движка C++ - файл библиотеки формата .dll

Данный файл отвечает за логику С++ кода, который будет выполняться в разных экшенах.