Skip to content

GravitLauncher/JSWebSocketAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GravitAPI

npm GitHub license GitHub issues PRs Welcome FOSSA Status

Реализация JS API для GravitLauncher

Установка

Используя npm:

npm i gravit-api

Используя jsDelivr CDN:

<script src="https://cdn.jsdelivr.net/npm/gravit-api/dist/gravit-api.min.js"></script>

Используя unpkg CDN:

<script src="https://unpkg.com/gravit-api/dist/gravit-api.min.js"></script>

Пример использования

// Подключение класса API
const GravitApi = require('gravit-api');

// Данные для запроса
const wsUrl = 'ws://localhost:9274/api';

// Инициализация класса API
const api = new GravitApi();

// Подключение и отправка/обработка запросов с использованием Promise

api.connect(wsUrl) // Подключение к сокету лаунчсервера
.then(() => {
    api.send('getAvailabilityAuth').then(auth => { //Запрос списка методов авторизации
        console.log(auth.list);
        api.close(); // Закрытие соединения
    }).catch(console.error);
}).catch(console.error);

// или в стиле async/await

(async () => {
    try {
        await api.connect(wsUrl);
        const auth = await api.send('getAvailabilityAuth');
        console.log(auth.list);
    } catch (error) {
        console.error(error);
    } finally {
        api.close();
    }
})();

Более подробные примеры использования можно найти здесь

Методы и параметры

Класс GravitApi содержит следущее:

Свойство:

  • requestMap - коллекция с обработчиками ответов от лаунчсервера добавляемыми функцией send

Методы:

  • connect(url) - подключение к сокету лаунчсервера, где:
    • url - адрес сокета лаунчсервера
  • close() - отключение от сокета лаунчсервера
  • send(type, obj) - отправка запроса к лаунчсерверу, где:
    • type - тип запроса
    • obj - объект с параметрами запроса
  • getUUIDv4() - генерация случайного UUID для запроса, используется в sendRequest

Эвенты (стандартные эвенты вебсокета):

  • onOpen() - обработчик эвента onopen
  • onClose() - обработчик эвента onclose
  • onMessage() - обработчик эвента onmessage
  • onError() - обработчик эвента onerror

License

FOSSA Status