系统初始化模块¶
功能说明
功能接口前缀统一为 http(s)://<your-domain>
生产环境应使用 HTTPS 以保证认证令牌。 HTTP 仅建议用于开发环境。
系统初始化模块负责首次部署配置和运行状态监控 。支持 SQLite、MySQL、PostgreSQL 数据库,包含 Root 用户创建和系统参数初始化。状态接口提供实时系统信息,包括 OAuth 配置、功能开关等 。
🔐 无需鉴权¶
获取系统初始化状态¶
- 接口名称:获取系统初始化状态
- HTTP 方法:GET
- 路径:
/api/setup
- 鉴权要求:公开
- 功能简介:检查系统是否已完成初始化,获取数据库类型和 Root 用户状态
💡 请求示例:
const response = await fetch('/api/setup', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
const data = await response.json();
✅ 成功响应示例:
❗ 失败响应示例:
🧾 字段说明:
status
(布尔型): 系统是否已完成初始化root_init
(布尔型): Root 用户是否已存在database_type
(字符串): 数据库类型,可选值:"mysql"、"postgres"、"sqlite"
完成首次安装向导¶
- 接口名称:完成首次安装向导
- HTTP 方法:POST
- 路径:
/api/setup
- 鉴权要求:公开
- 功能简介:创建 Root 管理员账户并完成系统初始化配置
💡 请求示例:
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();
✅ 成功响应示例:
❗ 失败响应示例:
🧾 字段说明:
username
(字符串): 管理员用户名,最大长度 12 个字符password
(字符串): 管理员密码,最少 8 个字符confirmPassword
(字符串): 确认密码,必须与 password 一致SelfUseModeEnabled
(布尔型): 是否启用自用模式DemoSiteEnabled
(布尔型): 是否启用演示站点模式
获取运行状态摘要¶
- 接口名称:获取运行状态摘要
- HTTP 方法:GET
- 路径:
/api/status
- 鉴权要求:公开
- 功能简介:获取系统运行状态、配置信息和功能开关状态
💡 请求示例:
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": "New API",
"quota_per_unit": 500000,
"display_in_currency": true,
"enable_drawing": true,
"enable_task": true,
"setup": true
}
}
❗ 失败响应示例:
🧾 字段说明:
version
(字符串): 系统版本号start_time
(数字): 系统启动时间戳email_verification
(布尔型): 是否启用邮箱验证github_oauth
(布尔型): 是否启用 GitHub OAuth 登录github_client_id
(字符串): GitHub OAuth 客户端 IDsystem_name
(字符串): 系统名称quota_per_unit
(数字): 每单位配额数量display_in_currency
(布尔型): 是否以货币形式显示enable_drawing
(布尔型): 是否启用绘图功能enable_task
(布尔型): 是否启用任务功能setup
(布尔型): 系统是否已完成初始化
Uptime-Kuma 兼容状态探针¶
- 接口名称:Uptime-Kuma 兼容状态探针
- HTTP 方法:GET
- 路径:
/api/uptime/status
- 鉴权要求:公开
- 功能简介:提供与 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
}
]
}
]
}
❗ 失败响应示例:
🧾 字段说明:
categoryName
(字符串): 监控分类名称-
monitors
(数组): 监控项列表name
(字符串): 监控项名称group
(字符串): 监控组名status
(数字): 状态码,1=正常,0=异常uptime
(数字): 可用率百分比
🔐 管理员鉴权¶
测试后端与依赖组件¶
- 接口名称:测试后端与依赖组件
- HTTP 方法:GET
- 路径:
/api/status/test
- 鉴权要求:管理员
- 功能简介:测试系统各组件连接状态和健康度
💡 请求示例:
const response = await fetch('/api/status/test', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token'
}
});
const data = await response.json();
✅ 成功响应示例:
{
"success": true,
"message": "所有组件测试通过",
"data": {
"database": "connected",
"redis": "connected",
"external_apis": "healthy"
}
}
❗ 失败响应示例:
🧾 字段说明:
database
(字符串): 数据库连接状态redis
(字符串): Redis 连接状态external_apis
(字符串): 外部 API 健康状态