5.9 KiB
5.9 KiB
升级提示功能 - 快速参考
🚀 快速开始
测试升级提示功能
- 准备测试版本文件
在服务器创建 last-version.json(版本号设置为比当前版本大):
{
"version": "0.1.2",
"download_url": "https://example.com/update.exe",
"changelog": "• 测试更新\n• 新功能测试",
"force_update": false,
"release_date": "2026-01-28"
}
- 启动应用
wails dev
- 等待 5 秒
应用启动后 5 秒会自动显示升级提示弹窗。
📁 文件清单
新增文件
frontend/src/components/UpdateNotification.vue- 升级提示组件docs/update-notification-design.md- 设计文档docs/update-notification-usage.md- 使用指南docs/update-notification-implementation.md- 实现总结docs/update-notification-quickref.md- 本文件
修改文件
frontend/src/App.vue- 集成自动检查逻辑app.go:68- 修复检查地址(go-desk → u-desk)frontend/src/components/UpdatePanel.vue- 地址字段设为只读
🎨 UI 预览
普通更新弹窗
┌─────────────────────────────────────────────┐
│ 🔍 发现新版本 v0.1.0 → v0.1.2 [✕] │
├─────────────────────────────────────────────┤
│ │
│ 📅 发布日期 2026-01-28 │
│ 📁 文件大小 45.2 MB │
│ │
│ 📖 更新内容 │
│ ┌─────────────────────────────────────────┐ │
│ │ • 测试更新 │ │
│ │ • 新功能测试 │ │
│ └─────────────────────────────────────────┘ │
│ │
│ [ 跳过此版本 ] [ 立即更新 ↓ ] │
│ │
│ ☐ 提醒我稍后更新(下次启动时提醒) │
└─────────────────────────────────────────────┘
强制更新弹窗
┌─────────────────────────────────────────────┐
│ ⚠ 重要更新 v0.1.0 → v0.1.2 │
├─────────────────────────────────────────────┤
│ │
│ ⚠️ 此版本包含重要的安全更新和修复 │
│ │
│ [ 立即更新 ↓ ] │
└─────────────────────────────────────────────┘
🔧 配置选项
版本信息文件格式
地址: https://img.1216.top/u-desk/last-version.json
格式:
{
"version": "0.1.1", // 版本号(x.y.z)
"download_url": "https://...", // 下载地址
"changelog": "更新日志", // 支持换行符 \n
"force_update": false, // 是否强制更新
"release_date": "2026-01-28", // 发布日期
"file_size": 45234567 // 文件大小(字节,可选)
}
用户配置
在 设置 → 版本更新 中:
- ✅ 自动检查更新 - 开启/关闭
- ✅ 检查间隔 - 1-1440 分钟
- 🔒 更新检查地址 - 只读
🎯 关键时间点
| 事件 | 时间 | 说明 |
|---|---|---|
| 应用启动 | 0s | 应用界面显示 |
| 开始检查更新 | 3s | 后台异步检查 |
| 显示弹窗 | 5s | 有更新时延迟显示 |
| 下载进度更新 | 实时 | 每 0.3 秒更新 |
| 下载完成 | - | 显示安装按钮 |
| 安装重启 | 2s | 安装成功后延迟重启 |
📊 状态流转
初始状态
↓ 点击"立即更新"
下载中(显示进度条)
↓ 下载完成
下载完成(显示"安装"按钮)
↓ 点击"安装"
安装中(显示加载动画)
↓ 安装成功
应用自动重启
🐛 常见问题
Q: 弹窗不显示?
A:
- 检查是否已是最新版本
- 检查是否已跳过此版本
- 检查自动检查是否开启
Q: 如何强制显示弹窗?
A: 手动点击"设置 → 版本更新 → 检查更新"
Q: 如何清除跳过记录?
A:
// 在浏览器控制台执行
localStorage.removeItem('skipped_version')
Q: 下载失败怎么办?
A: 系统支持断点续传,重新点击"立即更新"即可
✅ 测试清单
功能测试
- 应用启动自动检查更新
- 弹窗正确显示版本信息
- 下载按钮正常工作
- 下载进度实时更新
- 下载完成显示安装按钮
- 安装成功后应用重启
- 跳过功能正常工作
- 强制更新无法关闭
UI 测试
- 弹窗动画流畅
- 版本徽章颜色正确
- 进度条更新平滑
- 按钮状态正确
📞 获取帮助
- 设计文档:
docs/update-notification-design.md - 使用指南:
docs/update-notification-usage.md - 实现总结:
docs/update-notification-implementation.md
🎉 完成状态
✅ 前端组件 - UpdateNotification.vue ✅ 应用集成 - App.vue 自动检查 ✅ 后端接口 - 所有 API 已就绪 ✅ 文档完善 - 设计、使用、实现文档 ✅ 构建成功 - 前端构建无错误
状态:✅ 已完成,可投入使用