feat: 初始提交(仅核心代码,已排除大文件)

This commit is contained in:
yangxiangyuan
2026-07-08 10:29:50 +08:00
commit be7c5842f1
623 changed files with 332897 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
const CACHE = 'music-box-v3';
self.addEventListener('install', e => {
self.skipWaiting();
e.waitUntil(
caches.open(CACHE).then(c => c.addAll([
'./',
'./index.html',
'./zen_box.js',
'./zen_box.css',
'./playlist.json'
]))
);
});
self.addEventListener('activate', e => {
e.waitUntil(clients.claim());
});
self.addEventListener('fetch', e => {
// 音频文件直接使用 Network Only
if (e.request.url.includes('.mp3') || e.request.url.includes('oss')) {
e.respondWith(fetch(e.request));
return;
}
// playlist.json 使用 Network First
if (e.request.url.includes('playlist.json')) {
e.respondWith(
fetch(e.request)
.then(networkResponse => {
return caches.open(CACHE).then(cache => {
cache.put(e.request, networkResponse.clone());
return networkResponse;
});
})
.catch(() => {
return caches.match(e.request);
})
);
return;
}
// 其他文件(App Shell)使用 Cache First
e.respondWith(
caches.match(e.request).then(r => r || fetch(e.request))
);
});