← 返回接口首页

软件更新接口 · qiniu

读取更新信息无需管理口令;所有管理请求必须使用 HTTPS,并携带 Authorization: Bearer 管理口令。管理口令只保存在自己的发布电脑和服务器中。

检查更新

GET ./check-update?appId=软件标识&localMd5=当前文件MD5

响应中的 data.hasUpdate 表示是否需要更新。下载地址、版本、说明和文件清单由现有软件配置决定。

发布新版本

优先使用随部署项目提供的新版 scripts/publish.py。工具从本地私密配置读取口令,完成下列步骤。

  1. GET ./admin/upload-token:提供 appIdfileNamemd5size。七牛还需提供 storageHash,即本地文件的 Qiniu ETag。软件必须已登记在管理目录中。
  2. 使用返回的 uploadUrl 直传临时文件。OSS 使用 PUT 和返回的全部 headers;七牛使用 POST 表单,包含 tokenkeyx-qn-meta-md5file。凭证有效期 15 分钟,只能上传指定大小的文件。
  3. POST ./admin/update-config:发送 JSON,包括 appId、返回的 filePathfileNamemd5size、七牛的 storageHashversionupdatedescfiledesc。主程序发布设置 isMainProgram:true;布尔值请使用 JSON 的 true/false。

服务核实存储文件后,复制到正式版本路径并更新清单。文件缺失、大小或摘要不符、元数据写入失败时不会发布。跨软件目录操作和直接覆盖版本配置文件会被拒绝。

上传完成但发布失败时,发布工具会保存回执,可使用 --resume 回执路径 重试。旧版直接传文件给 ECS 的接口已停用。OSS 临时上传凭证在有效期内可能重复使用,但不能写入正式版本文件。