Реализация 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
Эвенты (стандартные эвенты вебсокета):