PWA 功能
NodeWarden 的 Web 客户端是一个渐进式 Web 应用(Progressive Web App,PWA),可以像原生应用一样安装到设备上使用。
功能特性
应用安装
在支持 PWA 的浏览器(Chrome、Edge、Safari 等)中访问 NodeWarden,可以将其安装到:
- 桌面 - 作为独立窗口运行,无浏览器地址栏
- 主屏幕 - 移动设备上可添加到主屏幕,像原生 App 一样启动
应用快捷方式
安装后的 NodeWarden 提供快捷启动方式:
- 打开保险库 - 直接跳转到保险库页面
- TOTP 代码 - 快速访问 TOTP 验证码
在桌面上右键点击应用图标即可看到这些快捷方式。
离线支持
PWA 通过 Service Worker 提供离线能力:
- 应用外壳缓存 - App 界面即使离线也能加载
- 静态资源缓存 - 图标、样式、脚本等自动缓存
- API 响应缓存 - 保险库数据缓存到本地
- 离线回退页面 - 网络完全不可用时显示友好提示
详见 离线使用。
如何安装
Chrome / Edge (桌面)
- 访问 NodeWarden 网址
- 地址栏右侧出现安装图标(⊕)
- 点击安装图标,确认安装
- 安装完成后会自动打开应用窗口
Safari (macOS)
- 访问 NodeWarden 网址
- 菜单栏选择
文件→添加到程序坞 - 确认添加
Safari (iOS)
- 在 Safari 中打开 NodeWarden
- 点击分享按钮
- 选择
添加到主屏幕 - 确认添加
Android Chrome
- 访问 NodeWarden 网址
- 浏览器会自动弹出安装提示
- 或点击菜单 →
安装应用
显示模式
NodeWarden PWA 支持以下显示模式(按优先级):
- window-controls-overlay - 桌面操作系统上的无边框窗口,标题栏融入应用
- standalone - 独立应用窗口,无浏览器 UI
浏览器兼容性
| 浏览器 | 安装支持 | 离线支持 | 应用快捷方式 |
|---|---|---|---|
| Chrome (桌面) | ✅ | ✅ | ✅ |
| Edge (桌面) | ✅ | ✅ | ✅ |
| Safari (macOS) | ✅ | ✅ | ⚠️ 部分支持 |
| Safari (iOS) | ✅ | ✅ | ❌ |
| Chrome (Android) | ✅ | ✅ | ✅ |
| Firefox | ⚠️ 有限 | ✅ | ❌ |
与桌面客户端的区别
PWA 版本与官方桌面客户端相比:
优势:
- 无需下载和安装
- 自动更新
- 跨平台一致体验
- 占用存储空间小
局限:
- 浏览器安全限制
- 部分系统集成功能受限
- 依赖浏览器环境
技术细节
NodeWarden PWA 使用以下技术:
- Web App Manifest - 定义应用元数据、图标、快捷方式
- Service Worker - 提供离线缓存和后台同步能力
- Cache API - 管理静态资源和 API 响应缓存
- IndexedDB - 存储保险库数据和离线解锁记录
相关架构文档:前端架构
常见问题
如何卸载 PWA?
Chrome / Edge (桌面):
- 打开应用
- 点击右上角菜单(⋮)
- 选择
卸载 NodeWarden
Safari (macOS):
- 从程序坞拖出图标即可删除
移动设备:
- 像删除普通 App 一样长按图标删除
PWA 会自动更新吗?
会。每次启动时 Service Worker 会检查更新,新版本会在后台下载,下次启动时生效。
离线模式有什么限制?
离线模式只能访问已缓存的数据。无法执行需要服务器验证的操作,如创建新条目、上传附件、修改密码等。详见 离线使用限制。
PWA 数据存储在哪里?
PWA 数据存储在浏览器的本地存储中:
- localStorage - 离线解锁记录
- IndexedDB - 保险库数据缓存
- Cache Storage - 静态资源和 API 响应
清除浏览器数据会同时清除这些缓存。