201 lines
5.9 KiB
Markdown
201 lines
5.9 KiB
Markdown
# 升级提示功能 - 快速参考
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 测试升级提示功能
|
||
|
||
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 已就绪
|
||
✅ **文档完善** - 设计、使用、实现文档
|
||
✅ **构建成功** - 前端构建无错误
|
||
|
||
**状态:✅ 已完成,可投入使用**
|