chore: track version files, docs, web app split, scripts (missed commits from March work)

This commit is contained in:
2026-09-13 08:41:35 +08:00
parent 84c709bbcc
commit edf76db56b
33 changed files with 3082 additions and 504 deletions
+80
View File
@@ -0,0 +1,80 @@
# INP2P Android API 契约(MVP)
> Base URL 示例:`http://127.0.0.1:27183`
> 认证方式:`Authorization: Bearer <token>`
## 1) 登录
### POST `/api/v1/auth/login`
请求:
```json
{"username":"kyaarin","password":"***"}
```
响应(成功):
```json
{
"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`
响应:
```json
{"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`
请求示例:
```json
{"node":"node1","apps":[{"appName":"demo","protocol":"tcp","srcPort":12080,"dstHost":"127.0.0.1","dstPort":80,"enabled":1}]}
```
### POST `/api/v1/nodes/kick`
请求:
```json
{"node":"node1"}
```
## 5) 手动连接
### POST `/api/v1/connect`
请求:
```json
{"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`
请求:
```json
{"key":"advanced_override_enabled","value":"1"}
```
## 7) 错误码约定(前端处理)
- `200`:成功
- `400`:参数错误(直接提示)
- `401`:未授权(跳登录)
- `403`:权限不足(提示“无权限”)
- `404`:资源不存在/离线
- `502`:后端转发失败(connect 可能出现)