Skip to content

Конфигурация

Функция 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.