Files
aiops/docs/api-reference.md
T
attacker 97c4207ff8 refactor: 标准化项目结构 frontend/ + backend/ + SQLite + run.sh
- 目录重构: app/ -> frontend/,与 backend/ 并列
- 数据库: 默认 SQLite(零配置),修复 DSN() bug
- run.sh: 一键启动前后端,支持 start/stop/restart/status
- Makefile: install/dev/build/lint/clean 快捷命令
- vite.config.ts: 配置 dev server 端口 5173 + API 代理到 8080
- config.yaml: SQLite 默认配置,开箱即用
- docs/: 完整开发文档(项目结构/API/数据库/规范/部署)
- 修复: GORM foreign key 关联声明
- 修复: go get gorm.io/driver/sqlite 依赖
2026-06-13 23:34:23 +08:00

6.3 KiB

API 接口文档

基础信息

项目 值
Base URL http://localhost:8080/api/v1
认证方式 JWT Bearer Token
请求格式 JSON
响应格式 JSON

通用响应结构

{
  "code": 200,
  "message": "success",
  "data": {}
}

分页响应:

{
  "code": 200,
  "message": "success",
  "data": {
    "list": [],
    "total": 100
  }
}

认证

POST /auth/login

用户登录,获取 JWT Token。

请求体:

{
  "username": "admin",
  "password": "admin123"
}

响应:

{
  "code": 200,
  "message": "登录成功",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIs...",
    "expires_in": 86400,
    "user": {
      "id": 1,
      "username": "admin",
      "real_name": "管理员"
    }
  }
}

POST /auth/register

用户注册。

GET /user/profile

获取当前登录用户信息。(需认证)

PUT /user/profile

更新当前用户信息。(需认证)

PUT /user/password

修改密码。(需认证)

用户管理(管理员)

方法 路径 说明
GET /admin/users 用户列表
GET /admin/users/:id 用户详情
POST /admin/users 创建用户
PUT /admin/users/:id 更新用户
DELETE /admin/users/:id 删除用户

仪表盘

方法 路径 说明
GET /dashboard/stats 统计数据
GET /dashboard/recent-alerts 最近告警
GET /dashboard/recent-releases 最近发布
GET /dashboard/metrics 性能指标

服务器管理

方法 路径 说明
GET /servers 服务器列表
GET /servers/stats 服务器统计
GET /servers/:id 服务器详情
POST /servers 添加服务器
PUT /servers/:id 更新服务器
DELETE /servers/:id 删除服务器
POST /servers/batch-delete 批量删除

云平台管理

方法 路径 说明
GET /cloud-accounts 云账号列表
POST /cloud-accounts 添加云账号
DELETE /cloud-accounts/:id 删除云账号
GET /domains 域名列表
POST /domains 添加域名
DELETE /domains/:id 删除域名

K8s 集群

方法 路径 说明
GET /k8s-clusters 集群列表
GET /k8s-clusters/:id 集群详情
POST /k8s-clusters 添加集群
PUT /k8s-clusters/:id 更新集群
DELETE /k8s-clusters/:id 删除集群
GET /k8s-clusters/:id/nodes 节点列表
GET /k8s-clusters/:id/pods Pod 列表
GET /k8s-clusters/:id/deployments Deployment 列表
GET /k8s-clusters/:id/services Service 列表
GET /k8s-clusters/:id/ingresses Ingress 列表

监控告警

方法 路径 说明
GET /alerts 告警事件列表
GET /alerts/rules 告警规则列表
POST /alerts/rules 创建告警规则
PUT /alerts/rules/:id 更新规则
DELETE /alerts/rules/:id 删除规则
POST /alerts/rules/:id/toggle 启用/禁用规则
POST /alerts/:id/ack 确认告警

CI/CD 流水线

方法 路径 说明
GET /pipelines 流水线列表
POST /pipelines 创建流水线
GET /pipelines/:id 流水线详情
PUT /pipelines/:id 更新流水线
DELETE /pipelines/:id 删除流水线
POST /pipelines/:id/trigger 触发流水线
GET /pipelines/:id/runs 执行记录

应用发布

方法 路径 说明
GET /releases 发布列表
POST /releases 创建发布
POST /releases/:id/approve 审批发布
POST /releases/:id/deploy 部署发布
POST /releases/:id/rollback 回滚发布

自动化运维

定时任务

方法 路径 说明
GET /cron-jobs 任务列表
POST /cron-jobs 创建任务
GET /cron-jobs/:id 任务详情
PUT /cron-jobs/:id 更新任务
DELETE /cron-jobs/:id 删除任务
POST /cron-jobs/:id/toggle 启用/禁用
POST /cron-jobs/:id/execute 手动执行

脚本管理

方法 路径 说明
GET /scripts 脚本列表
POST /scripts 创建脚本
GET /scripts/:id 脚本详情
PUT /scripts/:id 更新脚本
DELETE /scripts/:id 删除脚本
POST /scripts/:id/execute 执行脚本

审批流程

方法 路径 说明
GET /approvals/templates 审批模板列表
POST /approvals/templates 创建模板
GET /approvals/templates/:id 模板详情
PUT /approvals/templates/:id 更新模板
DELETE /approvals/templates/:id 删除模板
GET /approvals/processes 审批流程列表
POST /approvals/processes 发起审批
GET /approvals/processes/:id 流程详情
POST /approvals/processes/:id/approve 审批通过
POST /approvals/processes/:id/reject 审批驳回

导航管理

方法 路径 说明
GET /navigations/groups 导航分组列表
POST /navigations/groups 创建分组
PUT /navigations/groups/:id 更新分组
DELETE /navigations/groups/:id 删除分组
GET /navigations/links 导航链接列表
POST /navigations/links 创建链接
PUT /navigations/links/:id 更新链接
DELETE /navigations/links/:id 删除链接
POST /navigations/links/:id/favorite 收藏/取消收藏

审计日志

方法 路径 说明
GET /audit/logs 审计日志列表
GET /audit/logs/:id 日志详情
GET /audit/modules 审计模块列表
GET /audit/actions 审计操作列表
GET /audit/logs/export 导出日志
GET /audit/statistics 审计统计
POST /audit/logs/clear 清空日志

健康检查

GET /health

无需认证。

{
  "status": "ok"
}

GET /version

无需认证。

{
  "version": "dev",
  "build_time": "unknown",
  "git_commit": "unknown"
}