player/src/api/API.js
МИН 6d86aa7c36 docs: переводы оставшихся английских комментариев на русский
- src/api/API.js — комменты, описание env
- vite.config.js — описание полей
- src/App.jsx — IndexRoute (текст «Плеер Рублокса»)
- src/KubikonPlayer/KubikonPlayer.jsx — exitPlayer
- src/engine/PlayerController.js — _storysApiUrl
- src/engine/GameRuntime.js — _resolveExternalUrl
- src/engine/devlog.js — убрал упоминания приватных путей разработчика
- src/fixtures/sample-game.json — title/description
2026-05-27 23:18:38 +03:00

44 lines
2.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// API-эндпоинты плеера Рублокса.
//
// Все URL бэкенда настраиваются через Vite environment variables:
// VITE_API_BASE — базовый URL HTTP-API (дефолт: '' для localhost+vite-proxy)
// VITE_REALTIME_HTTP — Colyseus matchmaking HTTP-эндпоинт
// VITE_REALTIME_WS — Colyseus WebSocket-эндпоинт
// VITE_RUBLOX_HOME — главный сайт Рублокса (редирект если нет JWT)
//
// См. .env.example с готовыми дефолтами на публичный staging
// (https://dev-api.rublox.pro).
//
// В dev (vite на localhost) BASE пустой и запросы идут на относительные
// /api-* пути, которые vite.config.js проксирует на staging/prod.
const ENV = (typeof import.meta !== 'undefined' && import.meta.env) || {};
const IS_DEV = typeof window !== 'undefined'
&& (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1');
// Пустой BASE в dev → vite-proxy роутит сам.
// В prod → либо env-настроенный бэкенд, либо текущий origin.
const BASE = ENV.VITE_API_BASE
?? (IS_DEV ? '' : (typeof window !== 'undefined' ? window.location.origin : ''));
export const USER_addres = BASE + '/api-user';
export const STORYS_addres = BASE + '/api-storys';
// Эндпоинты realtime (Colyseus). По умолчанию используем HTTPS-relative
// для HTTPS-страницы (vite-proxy обрабатывает /api-game), иначе берём
// env-настроенные прямые URL.
const IS_HTTPS = typeof window !== 'undefined' && window.location.protocol === 'https:';
export const REALTIME_HTTP = ENV.VITE_REALTIME_HTTP
?? (IS_HTTPS ? `${window.location.origin}/api-game` : 'http://localhost:8685');
export const REALTIME_WS = ENV.VITE_REALTIME_WS
?? (IS_HTTPS ? `wss://${window.location.host}/api-game` : 'ws://localhost:8685');
// Главный сайт Рублокса — куда редиректить юзеров без ticket/JWT.
export const RUBLOX_HOME = ENV.VITE_RUBLOX_HOME ?? 'https://rublox.pro/app';
// Папки ассетов для фото профиля и скинов (раздают user/storys-микросервисы).
export const FOLDER_PROFILE = USER_addres + '/assets/profile/';
export const FOLDER_STORYS = STORYS_addres + '/assets/skin/';