music(pwa): PWA + 可选离线缓存全库(IndexedDB),默认关
deploy music / build-and-deploy (push) Successful in 2m1s

- vite-plugin-pwa injectManifest 模式,自定义 sw.js precache app shell
- manifest 支持加桌面 + standalone(icon 暂借 werewolf 紫色调,后续换)
- src/lib/cache.js IDB 缓存层:audio + 谱面 PNG 单 attachment id 存放,blob URL 复用
- 启动 initCache 按 localStorage 'music.cache.enabled' 决定是否后台开始下载
- 后台 worker:串行 concurrency=2 + 80ms 间隔,仅 WiFi 时跑(默认)
- audio src 优先走 IDB blob URL,没缓存才走网络
- /settings 配置页:开关 + 仅 WiFi 切换 + 进度条 + 用量/quota + 清空缓存
- topbar 加 ⚙ 按钮

默认关,首次明确 prompt-by-checkbox 才开。整库 ~1.5GB。
This commit is contained in:
Fam Zheng
2026-05-25 22:09:54 +01:00
parent bcf99ec454
commit 8991033f70
15 changed files with 5482 additions and 25 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 336 KiB