Конфигурация
Функция init() должна быть вызвана один раз при старте приложения, до использования любых сервисов.
Параметры init()
js
init({ axios, hosts, onNotify, onError })axios (обязательный)
Настроенный экземпляр axios с интерсепторами, токенами авторизации и другими настройками. Все сервисы используют этот экземпляр для HTTP-запросов.
js
import axios from 'axios'
const axiosInstance = axios.create({
timeout: 30000,
})
axiosInstance.interceptors.request.use((config) => {
config.headers.Authorization = `Bearer ${token}`
return config
})hosts (обязательный)
Объект с URL бэкенд-сервисов. Каждый ключ соответствует определённой группе API-эндпоинтов:
| Ключ | Описание |
|---|---|
business | Основной бизнес-сервис (клиенты, воркеры, партнёры, аллокации и др.) |
contacts | Сервис контактов |
user | Сервис пользователей и авторизации |
history | Сервис истории изменений |
file | Файловый сервис (загрузка/скачивание) |
task | Сервис задач |
notifications | Сервис уведомлений |
documents | Сервис документов и шаблонов |
chat | Чат-сервис |
onNotify (опциональный)
Колбэк для отображения UI-уведомлений. Вызывается сервисами при успешных операциях или ошибках валидации.
js
onNotify: (message, color) => {
// message — строка с текстом уведомления
// color — цвет: 'positive', 'negative', 'warning' и др.
Notify.create({ message, color })
}onError (опциональный)
Колбэк для логирования ошибок. Вызывается при исключениях в сервисных методах.
js
onError: (error, context) => {
// error — объект ошибки
// context — строка с описанием контекста (имя метода и параметры)
console.error(`[API Error] ${context}:`, error)
}Поведение без инициализации
Если init() не был вызван, при первом обращении к сервису будет выброшено исключение:
[frontend-api-client] Not initialized. Call init() first.