7.3 KiB
7.3 KiB
升级提示功能使用指南
功能概述
新增的升级提示系统会在应用启动时自动检查更新,并在发现新版本时优雅地提示用户。整个体验流畅、专业,不打扰用户工作流。
主要特性
✅ 自动检测 - 应用启动后 5 秒自动检查更新 ✅ 优雅提示 - 精美的弹窗设计,清晰的版本信息 ✅ 实时进度 - 下载进度实时显示,包含速度和文件大小 ✅ 灵活跳过 - 支持跳过非强制更新,下次不再提示 ✅ 强制更新 - 重要安全更新强制安装,无法跳过 ✅ 断点续传 - 下载支持断点续传,节省流量 ✅ 安全安装 - 自动备份原程序,失败自动回滚
使用流程
1. 应用启动自动检查
应用启动
↓
等待 3 秒(避免阻塞启动)
↓
后台检查更新
↓
发现新版本?
├─ 是 → 延迟 2 秒显示升级提示弹窗
└─ 否 → 不显示,正常使用应用
2. 升级提示弹窗
当检测到新版本时,会显示精美的升级提示弹窗:
弹窗包含:
- 📌 当前版本 → 最新版本对比
- 📅 发布日期
- 📁 文件大小
- 📖 更新日志(版本更新内容)
- 🎯 操作按钮(跳过/立即更新)
- ⏰ 稍后提醒选项
三种状态:
- 初始状态 - 显示版本信息和更新日志
- 下载状态 - 显示下载进度和速度
- 完成状态 - 下载完成,提示点击安装
3. 用户选择
选择 A:立即更新
点击"立即更新"
↓
开始下载(显示进度条)
↓
下载完成
↓
点击"安装"
↓
确认对话框
↓
自动重启应用
选择 B:跳过此版本
点击"跳过此版本"
↓
勾选"提醒我稍后更新"?
├─ 是 → 下次启动继续提示
└─ 否 → 记住选择,不再提示此版本
↓
关闭弹窗
4. 强制更新
对于重要的安全更新,弹窗会:
- 🔴 显示红色"重要更新"徽章
- ⚠️ 显示强制更新警告信息
- 🚫 禁用关闭按钮(无法跳过)
- ✅ 只提供"立即更新"按钮
配置选项
在"设置 → 版本更新"中配置:
自动检查更新
- 开启 - 应用启动时自动检查(推荐)
- 关闭 - 不自动检查,需要手动检查
检查间隔
- 范围:1-1440 分钟(1 分钟 - 24 小时)
- 推荐设置:60 分钟(1 小时)
- 说明:两次自动检查的最小间隔时间
更新检查地址
- 系统配置,不可修改
- 当前地址:
https://img.1216.top/u-desk/last-version.json
手动检查更新
如果关闭了自动检查,或者想立即检查:
- 打开"设置"面板
- 切换到"版本更新"标签
- 点击"检查更新"按钮
- 查看更新结果
版本信息文件
升级系统会读取远程的版本信息文件:
文件地址: https://img.1216.top/u-desk/last-version.json
文件格式:
{
"version": "0.1.1",
"download_url": "https://img.1216.top/u-desk/go-desk-0.1.1-windows-amd64.exe",
"changelog": "• 修复文件列表刷新问题\n• 优化启动性能\n• 新增暗色模式支持",
"force_update": false,
"release_date": "2026-01-28",
"file_size": 45234567
}
字段说明:
version- 最新版本号(格式:x.y.z)download_url- 安装包下载地址changelog- 更新日志(支持换行符\n)force_update- 是否强制更新(true/false)release_date- 发布日期(格式:YYYY-MM-DD)file_size- 文件大小(字节,可选)
下载和安装
下载特性
- ✅ 支持断点续传(中断后可继续)
- ✅ 实时显示下载进度
- ✅ 显示下载速度和剩余时间
- ✅ 下载完成后自动计算 MD5 和 SHA256 哈希
安装特性
- ✅ 自动备份当前版本
- ✅ 安装失败自动回滚
- ✅ 安装成功自动重启
- ✅ 支持 .exe 和 .zip 格式
文件存储位置
- 配置文件:
~/.u-desk/update_config.json - 下载目录:
~/.u-desk/downloads/ - 备份目录:
~/.u-desk/backups/
常见问题
Q1: 为什么自动检查更新后没有弹窗?
A: 可能原因:
- 已是最新版本(无更新)
- 此版本已选择"跳过"且未勾选"稍后提醒"
- 自动检查功能已关闭
解决方法:
- 手动点击"检查更新"按钮
- 检查配置中的"自动检查更新"开关
Q2: 下载失败了怎么办?
A:
- 下载支持断点续传,可以点击重试
- 系统会自动从断点继续下载
- 如果多次失败,检查网络连接和下载地址
Q3: 安装失败会怎样?
A:
- 系统会自动回滚到备份版本
- 不会影响当前使用
- 可以查看错误日志了解失败原因
Q4: 如何恢复跳过的版本提示?
A:
方法 1:手动点击"检查更新"
方法 2:清除浏览器 localStorage 中的 skipped_version
Q5: 强制更新可以跳过吗?
A:
- 不可以。强制更新是为了修复严重的安全问题或数据损坏问题
- 不安装强制更新可能会影响应用正常使用
Q6: 下载中断后下次如何继续?
A:
- 系统会自动检测已下载的部分
- 重新点击"立即更新"会从断点继续
- 不会重复下载已完成的文件
技术实现
前端组件
- UpdateNotification.vue - 升级提示弹窗组件
- App.vue - 集成自动检查逻辑
后端接口
- CheckUpdate() - 检查更新
- DownloadUpdate() - 下载更新包
- InstallUpdate() - 安装更新
- GetUpdateConfig() - 获取更新配置
- SetUpdateConfig() - 保存更新配置
事件系统
- download-progress - 下载进度事件
- download-complete - 下载完成事件
配置文件
~/.u-desk/update_config.json
{
"current_version": "0.1.0",
"last_check_time": "2026-01-28T18:51:00+08:00",
"auto_check_enabled": true,
"check_interval_minutes": 60,
"check_url": "https://img.1216.top/u-desk/last-version.json"
}
最佳实践
对于用户
- ✅ 保持自动检查开启,及时获取更新
- ✅ 选择"稍后提醒"而非"跳过",避免错过重要更新
- ✅ 安装前保存当前工作,避免数据丢失
- ✅ 遇到强制更新立即安装,确保安全性
对于开发者
- ✅ 版本信息文件保持最新
- ✅ 更新日志清晰详细
- ✅ 重要更新标记为强制更新
- ✅ 测试安装包的完整性
更新日志设计建议
好的更新日志
• 修复文件列表刷新后顺序错乱的问题
• 优化启动性能,加载时间减少 30%
• 新增暗色模式支持
• 修复 #123 问题:数据库连接失败
注意:此版本包含重要的安全修复,建议立即更新
不好的更新日志
bug fixes
performance improvements
new features
建议:
- ✅ 列出具体的改动
- ✅ 说明对用户的影响
- ✅ 标注重要性和紧急性
- ✅ 使用清晰的格式(项目符号)
总结
新的升级提示系统提供了专业、流畅、友好的更新体验:
🎯 自动化 - 后台检查,无需人工干预 💎 精美设计 - 现代化的 UI,清晰的信息层次 ⚡ 高效流畅 - 断点续传,实时进度 🔒 安全可靠 - 备份回滚,哈希验证 👍 用户友好 - 灵活跳过,稍后提醒
享受无缝的更新体验!