版本升级
获取当前版本信息
不需要身份验证
GET /api/system/get_version_info
{
"track" : "inter", // 当前版本线,分内部版、开发版和稳定版
"version1" : "0.5.27_beta2", // 当前固件版本
"version2" : "m101a" // 当前硬件版本
}
全自动下载新版本、升级新版本
GET /api/system/download_and_upgrade
该接口为集成接口,其直接返回的json格式和/api/system/download_version_upgrade相同。
调用者需要根据接口的返回状态,再结合下载、升级各子过程的状态检查接口,获知当前的操作状态。
参考:
/api/system/download_version_upgrade
/api/system/check_download_progress
/api/system/upgrade_version
/api/system/check_upgrade_progress
检查当前为下载中、升级中或升级结束
GET /api/system/check_upgrade_global_status
{
"code" : -1, //-1->无状态, 1->下载中,2->升级中, 3->升级结束
"msg" : ""
}
状态码 | 消息 | 意义 |
---|---|---|
-1 | “donothing” | 没有在升级 |
-2 | “/data is not mounted” | data分区没有挂载 |
-3 | “fail to download json file” | 配置文件下载失败 |
-4 | “fail to decode json file” | 配置文件解析失败 |
-5 | “no newer release” | 没有新版本 |
-6 | “md5 check failed” | 升级包校验出错 |
-7 | “signature error” | 升级包签名出错 |
-8 | “hardware version not match” | 升级包和硬件版本不匹配 |
1 | “downloading” | 正在下载 |
2 | “upgrading” | 正在升级 |
3 | “upgrade done” | 升级完成 |
检查是否有新版本
GET /api/system/check_remote_version_upgrade
{
"code" : 0, // 0->有新版本,3->read json faild, 4->已经是最新版
"msg" : "",
" " : [0-9]*,
"filename" : "***.bin",
"version" : "****",
"releasenote" : "release note"
}
下载新固件
GET /api/system/download_version_upgrade
{
"code" : 0,
"msg" : "",
}
查看下载进度
POST /api/system/check_download_progress
post data:
jsondata[filename]
jsondata[filesize]
return data:
{
"code" : 0, // 0 -> success,
// 1-> running,
// 2->没有mount /data,
// 3->读取latestversion失败
// 4-> 解析json失败
// 5->存储空间不足
// 6-> 下载失败
// 7->md5校验失败
// 8->link创建失败
// 9->自动升级正在下载
// 10->正在升级中不能下载
// 11->更名失效
"msg" : "",
"percent" : "xx",
"stage" : 0 // (0->pre check, 1-> download, 2->post check)
}
取消下载
GET /api/system/cancel_download
{
"code" : 0|1,
"msg" : ""
}
进行版本升级
GET /api/system/upgrade_version
{
"code" : 0, // 0|1(0,成功;1,失败)
"msg" : "" //
}
获取当前升级百分比
GET /api/system/check_upgrade_progress
{
"code" : 0|1|2, // 0-> success,
// 2->faild, upgraded nothing, Error
// 3->faild, upgraded safe only, Error
// 4->faild, upgraded vm only, Error
// 5->faild, upgraded sys only, Error
// 6->faild, upgraded safe and vm, Error
// 7->faild, upgraded safe and sys, Error
// 8->faild. 自动下载正在进行
// 9->faild, 数字签名出错
// -1->progress
"percent" : 10 // number 表示升级进度10% (0-100)
"msg" : "xx",
"stage" : 0 // (0->uboot, 1->check image, 2->safe, 3->vm, 4->sys, 5->sys check, -1->wait)
}