REST API 参考
约 448 字大约 1 分钟
UniBot 的 WebUI 后端提供一组 REST API,供前端管理面板调用。所有 API 均挂载在机器人的端口下,路径前缀为 /api。
认证方式
采用 JWT + HttpOnly Cookie 认证:
- 登录成功后,后端通过
Set-Cookie下发access_token(2 小时)和refresh_token(7 天)。 - 前端请求需要携带 Cookie(
credentials: 'include')。 - 也可以用
Authorization: Bearer <token>头来传递。
API 概览
| 模块 | 路由前缀 | 说明 |
|---|---|---|
| 认证 | /api/auth | 登录、刷新、登出 |
| 配置 | /api/config | 读取/修改配置 |
| 玩家 | /api/players | 白名单绑定管理 |
| 服务器 | /api/servers | 服务器状态与指令 |
| 插件 | /api/plugins | 插件列表与状态 |
| 日志 | /api/logs | 日志查看 |
| 状态 | /api/status | 运行状态监控 |
| 用户 | /api/users | 用户管理 |
| WebSocket | /api/ws | 实时推送 |
认证接口
登录
POST /api/auth/login
Content-Type: application/json
{
"username": "admin",
"password": "your_password"
}响应会设置 JWT Cookie,前端据此保持登录态。
刷新令牌
POST /api/auth/refresh登出
POST /api/auth/logout配置接口
读取配置
GET /api/config返回当前配置(按分组展示)。
修改配置
PUT /api/config
Content-Type: application/json
{
"section": "webui",
"key": "enabled",
"value": true
}修改后需重启机器人才生效(由 Watchdog 处理)。
状态接口
GET /api/status返回机器人运行状态,包括内存占用、在线服务器数、绑定玩家数等。
服务器接口
GET /api/servers # 所有服务器状态
GET /api/servers/{name} # 指定服务器详情
POST /api/servers/{name}/command # 远程执行指令玩家接口
GET /api/players # 玩家列表
PUT /api/players/{id} # 修改绑定
DELETE /api/players/{id} # 删除绑定日志接口
GET /api/logs?level=INFO&limit=100 # 获取日志WebSocket 推送
WS /api/ws实时推送运行状态、日志增量、服务器事件等,供前端仪表盘实时更新。
如需完整的接口定义,可直接查阅后端源码 Scripts/Api/ 目录下的各路由文件。