P 系统授权系统
API 文档

应用授权与在线更新接入文档

安装验证和更新检查现在只需要提交授权码;系统会自动识别所属应用,再返回授权状态、最新版本和下载地址。

安装验证 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

暂无说明。