Skip to content

接口约定 ​

后端只输出 JSON,页面渲染完全交给前端单页应用。

响应信封 ​

除文件下载等流式接口外,统一使用:

json
{
  "code": 200,
  "message": "操作成功",
  "data": {},
  "timestamp": 1790934108,
  "request_id": "01JC..."
}
字段说明
code与 HTTP 状态码一致(200 成功,4xx / 5xx 业务失败)
data业务数据(可能是对象、数组或 null)
message提示信息,失败时为原因描述
timestamp / request_id响应时间戳与请求追踪 ID

列表接口的 data 为 {list, total, page, size} 分页信封。

接口描述文件 ​

接口以 swaggo 注解描述,构建时生成 OpenAPI 文档(面板未内嵌 Swagger UI 页面):

  • 仓库内:docs/swagger.json / docs/swagger.yaml
  • 重新生成:swag init -g main.go -o docs --parseDependency --parseInternal

关键接口 ​

接口说明
GET /api/auth/entry启动入口状态:是否已安装、安全入口是否启用、数据库是否可用
GET /api/system/environment宿主机运行环境
GET /api/system/metrics实时性能指标
GET /api/system/overview环境 + 指标(仪表盘使用)
GET /api/system/ports监听端口列表,支持 protocol(tcp/tcp6/udp/udp6/all)与 keyword
GET/POST /api/cors跨域配置读写

有状态请求 ​

  • 认证基于会话 Cookie(gopanel_session,24 小时过期、HttpOnly)或 Authorization: Bearer 令牌双通道
  • 登录密码使用 SM2 加密后提交,环境密钥与 UA 绑定并持久化
  • 所有已登录用户拥有全部 /api 权限(RBAC 预留未接线,部署形态为单管理员信任域)

相关 ​

基于 AGPL-3.0 协议发布