1.7 KiB
1.7 KiB
INP2P Android API 契约(MVP)
Base URL 示例:
http://127.0.0.1:27183认证方式:Authorization: Bearer <token>
1) 登录
POST /api/v1/auth/login
请求:
{"username":"kyaarin","password":"***"}
响应(成功):
{
"error":0,
"message":"ok",
"token":"...",
"token_type":"session",
"expires_at":1770000000,
"role":"admin",
"status":1,
"tenant_id":3,
"subnet":"10.200.2.0/24"
}
2) 节点列表
GET /api/v1/nodes
响应:
{"nodes":[{"name":"node1","tenantId":3,"natType":1,"publicIP":"1.2.3.4"}]}
3) SDWAN
GET /api/v1/sdwans
读取当前租户 SDWAN 配置。
POST /api/v1/sdwan/edit
按权限写入。租户端 gatewayCIDR 由后端锁定为租户分配子网。
4) 节点控制
POST /api/v1/nodes/apps
请求示例:
{"node":"node1","apps":[{"appName":"demo","protocol":"tcp","srcPort":12080,"dstHost":"127.0.0.1","dstPort":80,"enabled":1}]}
POST /api/v1/nodes/kick
请求:
{"node":"node1"}
5) 手动连接
POST /api/v1/connect
请求:
{"from":"nodeA","to":"nodeB","srcPort":10080,"dstPort":80,"appName":"manual"}
6) 管理员接口(admin only)
GET /api/v1/admin/audit?tenant=3&limit=100
读取审计日志。
GET /api/v1/admin/settings
读取高级设置。
POST /api/v1/admin/settings
请求:
{"key":"advanced_override_enabled","value":"1"}
7) 错误码约定(前端处理)
200:成功400:参数错误(直接提示)401:未授权(跳登录)403:权限不足(提示“无权限”)404:资源不存在/离线502:后端转发失败(connect 可能出现)