安装验证
license_key
不需要 App Key 和设备码
更新检查
license_key
自动匹配应用最新版本
设备接口
保留旧模式
激活、解绑仍可使用签名
下载方式
临时 token
使用检查接口返回的地址
推荐接入流程
1. 后台创建应用
上传版本包,生成授权码
授权码全局唯一,因此客户端不用再传 App Key,服务端可以通过授权码自动定位应用。
2. 安装前验证
POST /api/v1/installer/verify
安装器让用户输入授权码,验证通过后再继续安装、初始化数据库或写入配置。
3. 更新前检查
POST /api/v1/update/check
更新器提交授权码和可选当前版本号,服务端返回是否有新版本和下载地址。
4. 下载更新包
使用 download_url
不要手动拼接下载地址,直接使用更新检查接口返回的临时地址。
接口清单
| 方法 | 路径 | 用途 |
|---|---|---|
| POST | /api/v1/installer/verify | 安装前仅通过授权码验证是否可继续安装 |
| POST | /api/v1/update/check | 更新前仅通过授权码检查最新版本 |
| GET | /api/v1/update/download/{id} | 下载更新检查接口返回的临时更新包地址 |
| POST | /api/v1/license/activate | 可选:首次激活授权并绑定设备 |
| POST | /api/v1/license/check | 可选:检查已绑定设备的授权状态 |
| POST | /api/v1/license/deactivate | 可选:解除当前设备绑定 |
安装器验证示例
请求体
{
"license_key": "ABCDE-FGHIJ-KLMNO-PQRST-UVWXY",
"version_code": 100
}
返回结果
{
"success": true,
"can_install": true,
"message": "授权验证通过,安装可以继续。",
"application": {
"app_key": "demo-app",
"name": "演示应用"
},
"installer": {
"ready": true,
"version_code": 100
},
"license": {
"license_key": "ABCDE-FGHIJ-KLMNO-PQRST-UVWXY",
"license_type": "subscription"
}
}
更新检查示例
请求体
{
"license_key": "ABCDE-FGHIJ-KLMNO-PQRST-UVWXY",
"version_code": 100
}
返回结果
{
"success": true,
"has_update": true,
"application": {
"app_key": "demo-app",
"name": "演示应用"
},
"version": "1.2.0",
"version_code": 120,
"package_hash": "sha256-hash",
"package_size": 102400,
"download_url": "https://example.com/api/v1/update/download/1?..."
}
如果不传 version_code,系统会按当前版本为 0 处理,通常会返回最新可用版本。
签名说明
/api/v1/installer/verify 和 /api/v1/update/check 已改为授权码直查模式,不需要 App Key、设备码或 HMAC 签名。
如果你仍使用设备激活、授权检查、解绑设备这三个旧接口,并且 `.env` 中 API_SIGNATURE_REQUIRED=true,则仍需要按 App Secret 计算 HMAC-SHA256 签名。
X-App-Key: demo-app X-Timestamp: 1720000000 X-Nonce: random-string X-Signature: hmac-sha256-signature
当前可接入应用
电子维修卡
dz-wxk
暂无说明。