export function registerServiceWorker() { if (typeof window === "undefined" || !("serviceWorker" in navigator)) { console.log("Service Worker 不被支持") return } window.addEventListener("load", () => { navigator.serviceWorker .register("/sw.js") .then((registration) => { console.log("Service Worker 注册成功:", registration.scope) // 检查更新 registration.addEventListener("updatefound", () => { const newWorker = registration.installing if (newWorker) { newWorker.addEventListener("statechange", () => { if (newWorker.state === "installed" && navigator.serviceWorker.controller) { // 新的 Service Worker 已安装,提示用户刷新 if (confirm("发现新版本,是否立即更新?")) { window.location.reload() } } }) } }) }) .catch((error) => { console.log("Service Worker 注册失败:", error) }) }) } export function unregisterServiceWorker() { if (typeof window === "undefined" || !("serviceWorker" in navigator)) { return } navigator.serviceWorker.ready .then((registration) => { registration.unregister() }) .catch((error) => { console.error("Service Worker 注销失败:", error) }) }