更新检查 API
提供轻量级 HTTP 接口,供桌面客户端启动时检查是否有新版本发布。
检查更新
判断客户端当前版本是否需要更新,并返回最新版本的下载信息。
GET /api/check-update
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
app | string | 是 | 应用 slug(如 my-app) |
platform | string | 否 | windows 或 mac |
current_version | string | 否 | 客户端当前版本号(如 1.0.0) |
响应示例
{
"app_slug": "my-app",
"app_name": "我的应用",
"has_update": true,
"latest_version": "1.2.0",
"version": "1.2.0",
"download_url": "https://example.com/download/my-app/1.2.0",
"sha256": "a3f5...",
"file_size": 12345678,
"min_os_version": "Windows 10",
"release_notes": "新增功能 X,修复问题 Y",
"released_at": "2026-09-01T12:00:00+00:00"
}
"app_slug": "my-app",
"app_name": "我的应用",
"has_update": true,
"latest_version": "1.2.0",
"version": "1.2.0",
"download_url": "https://example.com/download/my-app/1.2.0",
"sha256": "a3f5...",
"file_size": 12345678,
"min_os_version": "Windows 10",
"release_notes": "新增功能 X,修复问题 Y",
"released_at": "2026-09-01T12:00:00+00:00"
}
当 current_version 与最新版本相同时,has_update 返回 false。版本比较遵循语义化版本(SemVer)规则。
校验信息查询
获取指定版本的 SHA256 校验值,用于下载后核对文件完整性。
GET /api/verify/<slug>/<version>
响应示例
{
"app_slug": "my-app",
"version": "1.2.0",
"sha256": "a3f5...",
"file_size": 12345678
}
"app_slug": "my-app",
"version": "1.2.0",
"sha256": "a3f5...",
"file_size": 12345678
}
频率限制
更新检查接口限制为每分钟 60 次请求/IP,超过将返回 429 状态码。
调用示例(Python)
import requests
r = requests.get(
"https://example.com/api/check-update",
params={"app": "my-app", "platform": "windows", "current_version": "1.0.0"}
)
data = r.json()
if data["has_update"]:
print(f'发现新版本 {data["latest_version"]}')
r = requests.get(
"https://example.com/api/check-update",
params={"app": "my-app", "platform": "windows", "current_version": "1.0.0"}
)
data = r.json()
if data["has_update"]:
print(f'发现新版本 {data["latest_version"]}')