Files
cacto 45b8733d22 Каркас приложения: авторизация, зоны/устройства/правила, управление устройствами
HTTP-клиент к /api/v1 с Sanctum-токеном (хранится в secure storage),
модели зеркалят Laravel API Resources. Экраны: логин, список устройств
с живым статусом, детальная страница устройства (история телеметрии,
turn-on/turn-off/set-level с проверкой capability), списки зон и правил
автоматизации (пока только чтение — формы создания/редактирования впереди).
2026-08-12 01:12:39 +05:00

22 lines
756 B
Dart

import 'dart:io' show Platform;
/// Backend base URL, without a trailing slash and without `/api/v1`.
///
/// Override at build/run time, e.g.:
/// flutter run --dart-define=API_BASE_URL=http://192.168.1.10:8000
///
/// Without an override we guess a sane per-platform default for local dev:
/// the Android emulator can't reach the host via `localhost` (it has its own
/// loopback), so it needs the special `10.0.2.2` alias instead.
class ApiConfig {
static const _override = String.fromEnvironment('API_BASE_URL');
static String get baseUrl {
if (_override.isNotEmpty) return _override;
if (!Platform.isAndroid) return 'http://localhost:8000';
return 'http://10.0.2.2:8000';
}
static String get apiV1Url => '$baseUrl/api/v1';
}