feat(web): add zone-based website management

以稳定 Zone ID 替换旧托管域名详情页:列表展示根域与域名计数,详情提供
概览/域名/路由/证书/设置 Tabs,并补齐 ZoneService 与 vitest 行为测试。
Zone 列表 API 返回 domain_count;同步 Swagger 与重构计划进度。
This commit is contained in:
ryan
2026-07-12 15:23:43 +08:00
parent d4d9bad74d
commit 350b433cc1
30 changed files with 2369 additions and 1178 deletions
+59 -55
View File
@@ -10849,7 +10849,7 @@ const docTemplate = `{
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/model.Zone"
"$ref": "#/definitions/zone.ListItem"
}
}
}
@@ -16857,36 +16857,12 @@ const docTemplate = `{
"type": "string"
}
},
"cert_id": {
"type": "integer"
},
"cert_ids": {
"type": "array",
"items": {
"type": "integer"
}
},
"custom_headers": {
"type": "array",
"items": {
"$ref": "#/definitions/proxy_route.CustomHeaderInput"
}
},
"domain": {
"type": "string"
},
"domain_cert_ids": {
"type": "array",
"items": {
"type": "integer"
}
},
"domains": {
"type": "array",
"items": {
"type": "string"
}
},
"enable_https": {
"type": "boolean"
},
@@ -16955,6 +16931,12 @@ const docTemplate = `{
"items": {
"type": "string"
}
},
"zone_domain_ids": {
"type": "array",
"items": {
"type": "integer"
}
}
}
},
@@ -16985,15 +16967,6 @@ const docTemplate = `{
"cache_rules": {
"type": "string"
},
"cert_id": {
"type": "integer"
},
"cert_ids": {
"type": "array",
"items": {
"type": "integer"
}
},
"created_at": {
"type": "string"
},
@@ -17006,24 +16979,6 @@ const docTemplate = `{
"custom_headers": {
"type": "string"
},
"domain": {
"type": "string"
},
"domain_cert_ids": {
"type": "array",
"items": {
"type": "integer"
}
},
"domain_count": {
"type": "integer"
},
"domains": {
"type": "array",
"items": {
"type": "string"
}
},
"enable_https": {
"type": "boolean"
},
@@ -17054,9 +17009,6 @@ const docTemplate = `{
"pages_project_id": {
"type": "integer"
},
"primary_domain": {
"type": "string"
},
"redirect_http": {
"type": "boolean"
},
@@ -17092,6 +17044,35 @@ const docTemplate = `{
},
"upstreams": {
"type": "string"
},
"zone_domain_ids": {
"type": "array",
"items": {
"type": "integer"
}
},
"zone_domains": {
"type": "array",
"items": {
"$ref": "#/definitions/proxy_route.ZoneDomainView"
}
}
}
},
"proxy_route.ZoneDomainView": {
"type": "object",
"properties": {
"cert_id": {
"type": "integer"
},
"domain": {
"type": "string"
},
"id": {
"type": "integer"
},
"zone_id": {
"type": "integer"
}
}
},
@@ -18799,6 +18780,29 @@ const docTemplate = `{
}
}
},
"zone.ListItem": {
"type": "object",
"properties": {
"created_at": {
"type": "string"
},
"domain": {
"type": "string"
},
"domain_count": {
"type": "integer"
},
"id": {
"type": "integer"
},
"remark": {
"type": "string"
},
"updated_at": {
"type": "string"
}
}
},
"zone.Overview": {
"type": "object",
"properties": {