feat: 添加serverworker注册事件

This commit is contained in:
zdl
2025-11-04 15:34:17 +08:00
parent 8ed65b062b
commit 6e5eaa9089
2 changed files with 129 additions and 0 deletions

View File

@@ -11,6 +11,40 @@ import './styles/brainwave-colors.css';
// Import the main App component
import App from './App';
// 注册 Service Worker用于支持浏览器通知
function registerServiceWorker() {
// 仅在支持 Service Worker 的浏览器中注册
if ('serviceWorker' in navigator) {
// 在页面加载完成后注册
window.addEventListener('load', () => {
navigator.serviceWorker
.register('/service-worker.js')
.then((registration) => {
console.log('[App] Service Worker registered successfully:', registration.scope);
// 监听更新
registration.addEventListener('updatefound', () => {
const newWorker = registration.installing;
console.log('[App] Service Worker update found');
if (newWorker) {
newWorker.addEventListener('statechange', () => {
if (newWorker.state === 'activated') {
console.log('[App] Service Worker activated');
}
});
}
});
})
.catch((error) => {
console.error('[App] Service Worker registration failed:', error);
});
});
} else {
console.warn('[App] Service Worker is not supported in this browser');
}
}
// 启动 Mock Service Worker如果启用
async function startApp() {
// 只在开发环境启动 MSW
@@ -35,6 +69,9 @@ async function startApp() {
</Router>
</React.StrictMode>
);
// 注册 Service Worker
registerServiceWorker();
}
// 启动应用