- 目录重构: 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 依赖
262 lines
6.3 KiB
Markdown
262 lines
6.3 KiB
Markdown
# API 接口文档
|
|
|
|
## 基础信息
|
|
|
|
| 项目 | 值 |
|
|
|------|---|
|
|
| Base URL | `http://localhost:8080/api/v1` |
|
|
| 认证方式 | JWT Bearer Token |
|
|
| 请求格式 | JSON |
|
|
| 响应格式 | JSON |
|
|
|
|
## 通用响应结构
|
|
|
|
```json
|
|
{
|
|
"code": 200,
|
|
"message": "success",
|
|
"data": {}
|
|
}
|
|
```
|
|
|
|
分页响应:
|
|
|
|
```json
|
|
{
|
|
"code": 200,
|
|
"message": "success",
|
|
"data": {
|
|
"list": [],
|
|
"total": 100
|
|
}
|
|
}
|
|
```
|
|
|
|
## 认证
|
|
|
|
### POST /auth/login
|
|
|
|
用户登录,获取 JWT Token。
|
|
|
|
**请求体:**
|
|
```json
|
|
{
|
|
"username": "admin",
|
|
"password": "admin123"
|
|
}
|
|
```
|
|
|
|
**响应:**
|
|
```json
|
|
{
|
|
"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
|
|
|
|
无需认证。
|
|
|
|
```json
|
|
{
|
|
"status": "ok"
|
|
}
|
|
```
|
|
|
|
### GET /version
|
|
|
|
无需认证。
|
|
|
|
```json
|
|
{
|
|
"version": "dev",
|
|
"build_time": "unknown",
|
|
"git_commit": "unknown"
|
|
}
|
|
```
|