JavaScript SDK


Подклюяение SDK:

<script src="https://fastlix.com/js/dist/sdk-2.1.js"></script>


SDK добавляет следующие объекты в глобальное пространство:

  • MDSWebsite — работа с сервером: подключение, авторизация, доступ к данным.
  • MDSCommon — вспомогательные методы.
  • MDSConsole — управление ходом выполнения программы из кода выполняемого на сервере.


MDSWebsite

Через него происходит взаимодействие с сервером:

  • Авторизация на сервере через социальные сети.
  • Чтение и обновление данных на сервере через WebSocket.
connect()

Подключиться к серверу

Пример:
// Подключение к серверу
MDSWebsite.connect().then(function () {
  // Чтение данных с сервера
  return MDSWebsite.getAll({
    path: 'path/to/data',
    limit: 30,
    offset: 60
  });
}).then(function (data) {
  // Обработка данных
  console.log(data.children);
}, (function (err) {
  // Обработка ошибок
  console.error(err);
});

login([providerName])

Подключиться к серверу и залогиниться

str [providerName]
Название метода

Пример:
// Подключение к серверу
MDSWebsite.login().then(function () {
  // Обновление данных на сервера
  return MDSWebsite.change({
    path: 'path/to/data',
    fields: [{ name: 'version', value: 'Test 1.4', type: 's' }]
  });
}).then(function (data) {
  // Обработка результата
  console.log(data.children);
}, (function (err) {
  // Обработка ошибок
  console.error(err);
});

request(eventName, data)

Отправить запрос на сервер

str eventName
Название метода
obj data
Полнотектовый поиск дочерних элементов
Пример:
MDSWebsite.request('entities.get', {
  root: 'hello-world',
  path: 'data',
  children: true
}).then(function (data) {
  console.log(data.childen);
}, function (err) {
  console.error(err);
});
emit(eventName, data)

Отправить событие на сервер

str eventName
Название метода
obj data
Полнотектовый поиск дочерних элементов
Пример:
MDSWebsite.emit('entities.delete', {
  root: 'hello-world',
  path: 'data'
});
on(eventName, callback)

Обрабатывать событие с сервера

str eventName
Название события
fun callback
Фукция, которая будет вызываться при выполнении события

Подписаться на получение события с сервера можно только после того как соединение будет установлено. Подписываться на получение события необходимо при каждом подключении к серверу.

Исключениями являются следующие события:

  • connected
  • login
  • logout
Начать обрабатывать эти события вы можете до подлючения к серверу и подписаться на них достаточно один раз.

Пример:
MDSWebsite.on('entities.delete.res', function (data) {
    console.log(data);
});
once(eventName, callback)

Слушать событие с сервера 1 раз

str eventName
Название события
fun callback
Фукция которая выполнится при выполнении события
Пример:
MDSWebsite.once(
  'entities.delete.res', function (data) {
    
  });



MDSCommon

Данный класс содежит набор утилитарных метовод, которые используются внутри SDK.

permit(data, permFields)

Выполнить программу асинхронно

obj data
Опции запуска программы.
obj|arr permFields
Код программы.
Пример:
var data = {};
var permittedData = MDSCommon.permit(data, ['', '']);
console.log(permittedData);



MDSConsole

Данный объект доступен только из программ (задач), которые запускаются на сервере. Он используется для ведения логов, которые будут сохранены в директории /tasks/имя-задачи/logs/дата-и-время-выполнения-задачи.

Также, он имеет метод run, который упрощает использонание async/await конструкции.

run([options], callback)

Выполнить программу асинхронно

obj [options]
Опции запуска программы.
fun callback
Код программы.
Пример:
MDSConsole.run(async (website) => {
    const data = await website.get('data/example');
    MDSConsole.log(`Yahoo! I loaded data from ${data.path}!`);
});