Модуль инициализации системы
Описание функции
Префикс функционального интерфейса унифицирован как 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.