= Сценарии работы, API = == Принцип работы == Организация взаимодействия с пользователем посредством интерфейса на базе WebKit осуществляется с использованием сценариев на языке JavaScript. При этом ядро системы предоставляет высокоуровневое API для осуществления таких операций, как ввод наличности, печать чеков, взаимодействие с модулями (например stamp). == Основные объекты и методы == === Объект controller === Объект является основным и выполняет операции самого широкого профиля. Методы: * StartCashin (min, max) - начинает приём наличности от min до max. * StopCashin () - останавливает приём наличности. * PrintCheque (value_map) - печатает чек с картой параметров. Сигналы: * CashAcceptedSync (accepted_amount, accepted_bills) - извещает о сумме и кол-ве принятых купюр * CashUseSync (in_use) - извещает о занятости устройств приёма наличности (возможности прервать приём). === Объект stamp === Организует взаимодействие с ПС Стамп. Методы: * GetOperatorMap () - возвращает карту операторов. * GetOperatorInfo (operator_id) - возвращает информацию по оператору. * GetTerminalParamMap () - возвращает карту параметров терминала. * StartCheck (operator_id, input_map) - начинает запрос на проверку реквизитов платежа. * CommitPayment (operator_id, input_map, pay_amount, com_amount) - проводит платёж на указанные реквизиты. * HasUncommitedPayment () - возвращает признак того, есть ли в системе неотправленный платёж. Сигналы: * Sync () - требуется синхронизация карты операторов * CheckResult (result, operator_param) - результат проверки реквизитов с параметрами платежа (комиссия, минимальная комиссия и т.д.) == Общая архитектура == Сценарий с точки зрения логики разбит на несколько страниц. Логика каждой страницы представлена отдельным js-файлом (например, operatorselect.js) и отдельным блоком div в index.html (например
).