From 8d273a2e68b042a849f7dd5aba8f51025d51a2b3 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Tue, 26 Mar 2024 16:31:49 +0800 Subject: [PATCH] custom service-worker --- public/service-worker.js | 13 ++++++++++++- src/main.jsx | 6 ++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/public/service-worker.js b/public/service-worker.js index 68699b3..b9a5545 100644 --- a/public/service-worker.js +++ b/public/service-worker.js @@ -7,7 +7,9 @@ self.addEventListener('install', function(event) { console.log('Installed', event); }); self.addEventListener('activate', (event) => { + // event.waitUntil(self.clients.claim()); event.waitUntil(openWebSocket()); + self.clients.claim(); }); self.addEventListener('push', (event) => { @@ -18,7 +20,7 @@ self.addEventListener('push', (event) => { body: data.body || 'You have a new message', icon: 'path/to/icon.png', badge: 'path/to/badge.png', - vibrate: [200, 100, 200], + vibrate: [200, 100, 200], // 振动 // Other notification options }; @@ -26,3 +28,12 @@ self.addEventListener('push', (event) => { self.registration.showNotification(title, options) ); }); + +// Send a message to all clients every minute +setInterval(function() { + self.clients.matchAll().then(function(clients) { + clients.forEach(function(client) { + client.postMessage('Service worker is still running'); + }); + }); +}, 60000); // 60000 ms = 1 minute diff --git a/src/main.jsx b/src/main.jsx index 45f194d..48a5187 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -100,4 +100,10 @@ if ('serviceWorker' in navigator) { // } // ); }); + + + // Listen for messages from the service worker + navigator.serviceWorker.addEventListener('message', function(event) { + console.log('Received message from service worker:', event.data); + }); }