Skip to content

Admin API

1812z edited this page Oct 20, 2025 · 2 revisions

后台管理API 文档

📌 API 快速导航

注意事项

配置文件修改后需要重启后端以加载新配置,具体参考 POST /restart

认证方式

所有接口(除登录接口外)都需要在请求头中添加:

Authorization: Bearer <token>

接口详情

POST /login

认证: 不需要
功能: 管理员登录获取JWT令牌

请求参数

{
  "username": "string",
  "password": "string"
}

示例请求

POST /login
{
  "username": "admin",
  "password": "admin123"
}

示例响应

成功:

{
  "success": true,
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

失败:

{
  "success": false,
  "message": "用户名或密码错误"
}

POST /account/update

认证: 需要
功能: 更新管理员用户名和/或密码

请求参数

{
  "username": "string (可选)",
  "password": "string (可选)"
}

示例请求

POST /account/update
{
  "password": "newPassword123"
}

示例响应

成功:

{
  "success": true,
  "message": "账户信息已更新(密码)",
  "requireRelogin": true
}

POST /ai/trigger/:deviceId

认证: 需要
功能: 手动触发指定设备的AI摘要生成

请求参数

{
  "date": "YYYY-MM-DD",
  "timezoneOffset": "number"
}

示例请求

POST /ai/trigger/device001
{
  "date": "2023-06-15",
  "timezoneOffset": 8
}

示例响应

{
  "success": true,
  "message": "AI summary generation started"
}

POST /ai/stop

认证: 需要
功能: 停止所有AI定时任务

示例请求

POST /ai/stop

示例响应

{
  "success": true,
  "message": "AI summary cron jobs stopped"
}

POST /ai/start

认证: 需要
功能: 启动所有AI定时任务

示例请求

POST /ai/start

示例响应

{
  "success": true,
  "message": "AI summary cron jobs started"
}

GET /config

认证: 需要
功能: 获取当前系统配置

示例请求

GET /config

示例响应

{
  "success": true,
  "config": {
    "PORT": 3000,
    "MONGODB_URI": "mongodb://localhost:27017/deviceStats",
    "ADMIN_USER": "admin",
    "AI_API_URL": "https://api.openai.com/v1",
    "AI_MODEL": "gpt-4",
    "AI_MAX_TOKENS": 1000,
    "PUBLISH_API_URL": "https://example.com/api",
    "PUBLISH_API_KEY": "abc123",
    "DEFAULT_TIMEZONE_OFFSET": 8,
    "AI_SUMMARY_ENABLED": "true",
    "JWT_SECRET_MODE": "static"
  }
}

POST /config

认证: 需要
功能: 更新系统配置

请求参数

{
  "PORT": "number (可选)",
  "MONGODB_URI": "string (可选)",
  "AI_API_URL": "string (可选)"
}

示例请求

POST /config
{
  "AI_MODEL": "gpt-3.5-turbo",
  "AI_MAX_TOKENS": 500
}

示例响应

{
  "success": true,
  "message": "配置已更新",
  "updatedKeys": ["AI_MODEL", "AI_MAX_TOKENS"],
  "notice": "部分配置需要重启服务才能生效"
}

POST /restart

认证: 需要
功能: 重启服务

示例请求

POST /restart

示例响应

{
  "success": true,
  "message": "服务重启指令已发送,将在1秒后执行重启",
  "notice": "重启后所有用户需要重新登录",
  "restartStatus": "pending"
}

错误处理

所有接口返回错误时都会包含以下格式:

{
  "success": false,
  "error": "错误描述",
  "details": "可选错误详情"
}

常见HTTP状态码:

  • 400: 请求参数错误
  • 401: 未授权/认证失败
  • 403: 令牌无效或过期
  • 500: 服务器内部错误