# 升级提示功能 - 快速参考 ## 🚀 快速开始 ### 测试升级提示功能 1. **准备测试版本文件** 在服务器创建 `last-version.json`(版本号设置为比当前版本大): ```json { "version": "0.1.2", "download_url": "https://example.com/update.exe", "changelog": "• 测试更新\n• 新功能测试", "force_update": false, "release_date": "2026-01-28" } ``` 2. **启动应用** ```bash wails dev ``` 3. **等待 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` **格式:** ```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:** 1. 检查是否已是最新版本 2. 检查是否已跳过此版本 3. 检查自动检查是否开启 ### Q: 如何强制显示弹窗? **A:** 手动点击"设置 → 版本更新 → 检查更新" ### Q: 如何清除跳过记录? **A:** ```javascript // 在浏览器控制台执行 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 已就绪 ✅ **文档完善** - 设计、使用、实现文档 ✅ **构建成功** - 前端构建无错误 **状态:✅ 已完成,可投入使用**