开发说明:
本系统依靠读取远程更新服务器的 update.json 文件中的信息识别是否更新以及更新说明。
一个示例:
语言: json
{
"version": "1.0.0",
"download_url": "https://www.kiraui.org/releases/kiraui_1.0.0.zip",
"hash": "82209cf379f099d8759637c6e0b65c0e34bc4fd6d5b1f60306c9598e76a2b722",
"changelog": [
{
"version": "1.0.0",
"content": "大更新<a href=\"https://www.kiraui.org/article?id=23\" target=\"_blank\">查看详情</a>"
}
],
"manual_steps": [
{
"affected_below": "1.0.0",
"message": "大更新",
"link": "https://www.kiraui.org"
}
]
}各个字段的说明:
version:最新版本号,务必使用标隹化的版本号名称,例如1.2.3
download_url:此版本指定的下载链接,该链接必须是可直接访问下载源文件的直链,不得使用类似网盘链接这样的中转链接
hash:源文件的 SHA-256 值,你可以通过openssl dgst -sha256 文件名获取
changelog:更新说明数组,其中的 version 和 content 分别是对应版本号和其更新说明,通过比较 version 可以显示多个 content
manual_steps:
affected_below:受影响版本的下限,表示低于该版本的用户需要执行此手动步骤。例如 "1.0.0" 表示所有版本低于 1.0.0 的用户在升级到 1.0.0 或更高版本时必须执行该步骤。支持语义化版本比较。
· message:简短描述手动操作的内容,如“数据库结构变更,请备份后执行升级脚本”。
· link:指向详细操作指南的链接,可引导用户查看完整文档。
客户端在检测到新版本时,应判断当前版本是否低于 affected_below,若是则向用户展示 message 和 link,并提示用户完成手动操作后再继续更新。
更新检查流程建议
1. 获取更新信息:客户端向预设的远程服务器请求 update.json(建议使用 HTTPS 防止篡改)。
2. 版本对比:将 version 与当前安装版本比较,若新版本更高,则进入更新流程。
3. 展示更新日志:解析 changelog 数组,按版本顺序展示更新内容(可支持 HTML 格式,但需注意安全过滤)。
4. 处理手动步骤:根据当前版本与 manual_steps 中的 affected_below 决定是否提示用户执行手动操作。
5. 下载与验证:从 download_url 下载更新包,计算 SHA-256 并与 hash 对比,确保文件完整且未被篡改。
6. 安装更新:执行安装逻辑(如解压覆盖、运行安装脚本等)。
评论区
请先登录后再发表评论
登录注册暂无评论,快来发表第一条评论吧!