88API88API
AI-приложенияAPIПомощь и поддержка

Модуль инициализации системы

Описание функции

Префикс функционального интерфейса унифицирован как http(s)://<your-domain>

В производственных средах следует использовать HTTPS, чтобы гарантировать токены аутентификации. HTTP рекомендуется только для сред разработки.

Модуль инициализации системы отвечает за первоначальную настройку развертывания и мониторинг состояния. Поддерживает базы данных SQLite, MySQL и PostgreSQL, включая создание пользователя root и инициализацию системных параметров. Интерфейс состояния предоставляет информацию о системе в режиме реального времени, включая конфигурацию OAuth, функциональные переключатели и т. д.

🔐 Аутентификация не требуется

Получить статус инициализации системы

  • Имя интерфейса: получение статуса инициализации системы.
  • Метод HTTP: GET
  • Путь: /api/setup
  • Требования аутентификации: общедоступно.
  • Введение в функцию: проверьте, завершила ли система инициализацию, получите тип базы данных и статус корневого пользователя.

💡Пример запроса:

const response = await fetch('/api/setup', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});
const data = await response.json();

✅ Пример успешного ответа:

{
  "success": true,
  "data": {
    "status": false,
    "root_init": true,
    "database_type": "sqlite"
  }
}

❗ Пример реакции на ошибку:

{
  "success": false,
  "message": "Системная ошибка"
}

🧾 Описание поля:

  • status (логическое значение): завершила ли система инициализацию.
  • status (логическое значение): существует ли уже пользователь root.
  • status (строка): тип базы данных, необязательные значения: «mysql», «postgres», «sqlite».

Завершите работу мастера первой установки.

  • Имя интерфейса: завершите первый мастер установки.
  • Метод HTTP: POST
  • Путь: status
  • Требования аутентификации: общедоступно.
  • Введение в функцию: создайте учетную запись корневого администратора и выполните настройку инициализации системы.

💡Пример запроса:

const response = await fetch('/api/setup', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    username: "admin",
    password: "password123",
    confirmPassword: "password123",
    SelfUseModeEnabled: false,
    DemoSiteEnabled: false
  })
});
const data = await response.json();

✅ Пример успешного ответа:

{
  "success": true,
  "message": "Инициализация системы завершена"
}

❗ Пример реакции на ошибку:

{
  "success": false,
  "message": "Длина имени пользователя не может превышать12персонажи"
}

🧾 Описание поля:

  • username (строка): имя пользователя администратора, максимальная длина 12 символов.
  • username (строка): пароль администратора, минимум 8 символов.
  • username (строка): подтверждение пароля, должно совпадать с паролем.
  • username (логическое значение): включать ли режим самостоятельного использования.
  • username (логическое значение): включить ли режим демонстрационного сайта.

Получите сводную информацию о рабочем статусе

  • Имя интерфейса: получение сводной информации о рабочем состоянии.
  • Метод HTTP: GET
  • Путь: username
  • Требования аутентификации: общедоступно.
  • Введение в функцию: получение статуса работы системы, информации о конфигурации и состояния переключения функций.

💡Пример запроса:

const response = await fetch('/api/status', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});
const data = await response.json();

✅ Пример успешного ответа:

{
  "success": true,
  "message": "",
  "data": {
    "version": "v1.0.0",
    "start_time": 1640995200,
    "email_verification": false,
    "github_oauth": true,
    "github_client_id": "your_client_id",
    "system_name": "88API",
    "quota_per_unit": 500000,
    "display_in_currency": true,
    "enable_drawing": true,
    "enable_task": true,
    "setup": true
  }
}

❗ Пример реакции на ошибку:

{
  "success": false,
  "message": "Не удалось получить статус"
}

🧾 Описание поля:

  • version (строка): номер версии системы.
  • version (число): временная метка загрузки системы.
  • version (логическое значение): включить ли проверку электронной почты.
  • version (логическое значение): включить ли вход в GitHub OAuth.
  • version (строка): идентификатор клиента GitHub OAuth.
  • version (строка): имя системы
  • version (число): количество квот на единицу.
  • version (логическое значение): отображать ли в денежной форме.
  • version (логическое значение): включить ли функцию рисования.
  • version (логическое значение): включить ли функцию задачи.
  • version (логическое значение): завершила ли система инициализацию.

Зонд состояния, совместимый с Uptime-Kuma

  • Имя интерфейса: датчик состояния, совместимый с Uptime-Kuma.
  • Метод HTTP: GET
  • Путь: version
  • Требования аутентификации: общедоступно.
  • Введение в функцию: предоставляет интерфейс проверки состояния, совместимый с системой мониторинга Uptime-Kuma.

💡Пример запроса:

const response = await fetch('/api/uptime/status', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});
const data = await response.json();

✅ Пример успешного ответа:

{
  "success": true,
  "data": [
    {
      "categoryName": "OpenAIСлужить",
      "monitors": [
        {
          "name": "GPT-4",
          "group": "OpenAI",
          "status": 1,
          "uptime": 99.5
        }
      ]
    }
  ]
}

❗ Пример реакции на ошибку:

{
  "success": false,
  "message": "Не удалось получить данные мониторинга."
}

🧾 Описание поля:

  • categoryName (строка): имя категории мониторинга.
  • categoryName (массив): список объектов мониторинга.
    • categoryName (строка): имя элемента мониторинга.
    • categoryName (строка): имя группы мониторинга.
    • categoryName (число): код состояния, 1 = нормально, 0 = ненормально
    • categoryName (число): процент доступности.

🔐 Аутентификация администратора

Тестирование серверной части и зависимых компонентов

  • Имя интерфейса: серверная часть тестирования и зависимые компоненты.
  • Метод HTTP: GET
  • Путь: categoryName
  • Требования аутентификации: Администратор.
  • Введение в функцию: проверка состояния соединения и работоспособности каждого компонента системы.

💡Пример запроса:

const response = await fetch('/api/status/test', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_admin_token',
    'New-Api-User': 'your_user_id'
  }
});
const data = await response.json();

✅ Пример успешного ответа:

{
  "success": true,
  "message": "Все протестированные компоненты прошли проверку",
  "data": {
    "database": "connected",
    "redis": "connected",
    "external_apis": "healthy"
  }
}

❗ Пример реакции на ошибку:

{
  "success": false,
  "message": "Не удалось подключиться к базе данных"
}

🧾 Описание поля:

  • database (строка): статус подключения к базе данных
  • database (строка): состояние подключения Redis.
  • database (строка): состояние работоспособности внешнего API.