Skip to content

Commit 68481b7

Browse files
committed
支持 pwa
1 parent c08f4f4 commit 68481b7

File tree

9 files changed

+621
-355
lines changed

9 files changed

+621
-355
lines changed
Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
# PWA 使用指南
2+
3+
## 什么是 PWA?
4+
5+
PWA (Progressive Web App) 是一种可以像原生应用一样使用的网页应用。唯知导航支持完整的 PWA 功能,让你可以:
6+
7+
- 📱 **安装到桌面/主屏幕** - 像原生应用一样使用
8+
- 🔌 **离线访问** - 没有网络也能查看已保存的导航链接
9+
-**快速加载** - Service Worker 缓存,秒开应用
10+
- 🎯 **应用快捷方式** - 快速访问搜索和管理功能
11+
12+
## 如何安装
13+
14+
### 桌面端(Chrome/Edge)
15+
16+
1. 访问 [https://nav.weizwz.com](https://nav.weizwz.com)
17+
2. 点击地址栏右侧的 **安装图标**
18+
3. 或者点击右上角菜单 → **安装唯知导航**
19+
4. 在弹出的对话框中点击 **安装**
20+
21+
安装后,应用会出现在:
22+
- Windows: 开始菜单和桌面
23+
- macOS: 应用程序文件夹和 Dock
24+
- Linux: 应用程序菜单
25+
26+
### 移动端(iOS Safari)
27+
28+
1. 使用 Safari 浏览器访问 [https://nav.weizwz.com](https://nav.weizwz.com)
29+
2. 点击底部的 **分享按钮** 📤
30+
3. 向下滚动,选择 **添加到主屏幕**
31+
4. 输入名称(默认为"唯知导航"),点击 **添加**
32+
33+
### 移动端(Android Chrome)
34+
35+
1. 使用 Chrome 浏览器访问 [https://nav.weizwz.com](https://nav.weizwz.com)
36+
2. 页面会自动弹出安装提示,点击 **安装**
37+
3. 或者点击右上角菜单 → **安装应用**
38+
4. 在弹出的对话框中点击 **安装**
39+
40+
## PWA 功能特性
41+
42+
### 1. 离线访问
43+
44+
安装后,即使没有网络连接,你也可以:
45+
- 查看已保存的导航链接
46+
- 浏览分类
47+
- 使用站内搜索
48+
49+
**注意**:以下功能需要网络连接:
50+
- 添加新链接时自动获取网站图标
51+
- 访问外部链接
52+
- 使用搜索引擎搜索
53+
54+
### 2. 应用快捷方式
55+
56+
在桌面或主屏幕上长按应用图标,可以看到快捷方式:
57+
- **搜索** - 直接打开搜索功能
58+
- **数据管理** - 快速进入数据管理页面
59+
60+
### 3. 自动更新
61+
62+
当有新版本发布时:
63+
1. 应用会在后台自动下载更新
64+
2. 弹出提示询问是否立即更新
65+
3. 点击"立即更新"后,应用会刷新到最新版本
66+
67+
### 4. 全屏体验
68+
69+
安装后的应用会以全屏模式运行:
70+
- 没有浏览器地址栏
71+
- 没有浏览器工具栏
72+
- 更大的可用空间
73+
- 更接近原生应用的体验
74+
75+
## 技术实现
76+
77+
### Service Worker
78+
79+
应用使用 Service Worker 实现离线功能和缓存:
80+
81+
**缓存策略**
82+
- **静态资源**:缓存优先(Cache First)
83+
- HTML、CSS、JavaScript、图片等
84+
- 优先从缓存读取,提升加载速度
85+
86+
- **API 请求**:网络优先(Network First)
87+
- Favicon API 等动态内容
88+
- 优先从网络获取,失败时使用缓存
89+
90+
**缓存管理**
91+
- 自动清理旧版本缓存
92+
- 智能更新缓存内容
93+
- 避免缓存过期问题
94+
95+
### Manifest 配置
96+
97+
应用的 PWA 配置包括:
98+
- 应用名称和图标
99+
- 启动 URL 和作用域
100+
- 显示模式(独立应用)
101+
- 主题颜色
102+
- 应用快捷方式
103+
104+
## 常见问题
105+
106+
### Q: 如何卸载 PWA?
107+
108+
**桌面端**
109+
- Windows: 设置 → 应用 → 找到"唯知导航" → 卸载
110+
- macOS: 应用程序文件夹 → 拖动到废纸篓
111+
- Chrome: chrome://apps → 右键应用 → 卸载
112+
113+
**移动端**
114+
- iOS: 长按图标 → 删除应用
115+
- Android: 长按图标 → 卸载
116+
117+
### Q: PWA 会占用多少存储空间?
118+
119+
应用本身很小(约 2-5 MB),主要包括:
120+
- 应用代码和资源
121+
- Service Worker 缓存
122+
- 你保存的导航链接数据
123+
124+
### Q: 如何清除缓存?
125+
126+
**方法一:通过浏览器**
127+
1. 打开浏览器开发者工具(F12)
128+
2. Application → Storage → Clear site data
129+
130+
**方法二:重新安装**
131+
1. 卸载 PWA
132+
2. 清除浏览器缓存
133+
3. 重新访问网站并安装
134+
135+
### Q: 为什么没有看到安装提示?
136+
137+
可能的原因:
138+
1. 浏览器不支持 PWA(需要 Chrome/Edge/Safari 等现代浏览器)
139+
2. 网站必须通过 HTTPS 访问
140+
3. 已经安装过应用
141+
4. 之前关闭过安装提示(3 天后会再次显示)
142+
143+
### Q: 离线时可以添加新链接吗?
144+
145+
可以!所有数据都保存在本地 LocalStorage 中,离线时可以:
146+
- ✅ 添加、编辑、删除链接
147+
- ✅ 搜索已保存的链接
148+
- ✅ 管理分类
149+
- ❌ 自动获取网站图标(需要网络)
150+
151+
## 性能优化
152+
153+
PWA 带来的性能提升:
154+
155+
1. **首次加载**:正常网络速度
156+
2. **再次访问**:从缓存加载,速度提升 **80%+**
157+
3. **离线访问**:完全从缓存加载,**秒开**
158+
4. **更新检查**:后台静默更新,不影响使用
159+
160+
## 浏览器支持
161+
162+
| 浏览器 | 桌面端 | 移动端 | 备注 |
163+
|--------|--------|--------|------|
164+
| Chrome ||| 完整支持 |
165+
| Edge ||| 完整支持 |
166+
| Safari ||| iOS 需要手动添加 |
167+
| Firefox ||| 部分功能受限 |
168+
| Opera ||| 完整支持 |
169+
170+
## 开发者信息
171+
172+
### 测试 PWA
173+
174+
```bash
175+
# 本地开发需要 HTTPS
176+
pnpm dev:https
177+
178+
# 或者使用生产构建测试
179+
pnpm build
180+
pnpm serve:static
181+
```
182+
183+
### Service Worker 调试
184+
185+
1. 打开 Chrome DevTools
186+
2. Application → Service Workers
187+
3. 查看 Service Worker 状态和缓存
188+
189+
### Lighthouse 审计
190+
191+
```bash
192+
# 运行 Lighthouse 测试
193+
npx lighthouse https://nav.weizwz.com --view
194+
```
195+
196+
检查项目:
197+
- ✅ PWA 优化建议
198+
- ✅ 性能评分
199+
- ✅ 可访问性
200+
- ✅ 最佳实践
201+
- ✅ SEO
202+
203+
## 相关资源
204+
205+
- [PWA 官方文档](https://web.dev/progressive-web-apps/)
206+
- [Service Worker API](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)
207+
- [Web App Manifest](https://developer.mozilla.org/en-US/docs/Web/Manifest)
208+
- [Workbox](https://developers.google.com/web/tools/workbox) - Service Worker 工具库
209+
210+
---
211+
212+
**享受 PWA 带来的原生应用体验!** 🚀

0 commit comments

Comments
 (0)