From 16a0fa76de484d40e399b0713ea39d964cee8c81 Mon Sep 17 00:00:00 2001 From: Vasilii Mikhailovskii Date: Mon, 25 Nov 2024 22:58:10 +0200 Subject: [PATCH] add support GCM --- apps/frontend/components.d.ts | 1 + apps/frontend/public/manifest.json | 3 +- apps/frontend/public/service-worker.js | 11 +++- .../create/CreateMessageDeliveryOption.vue | 6 +- .../CreateMessageDeliveryOptionWebPush.vue | 3 +- .../generate-keys.js | 19 ++++-- .../test-send-notification.js | 62 ++++++++++++------- 7 files changed, 70 insertions(+), 35 deletions(-) diff --git a/apps/frontend/components.d.ts b/apps/frontend/components.d.ts index 0279195..4778e4d 100644 --- a/apps/frontend/components.d.ts +++ b/apps/frontend/components.d.ts @@ -26,6 +26,7 @@ declare module 'vue' { ExamplesSection: typeof import('./src/components/TheWelcome/ExamplesSection.vue')['default'] InputText: typeof import('primevue/inputtext')['default'] ManagePlacementInstructions: typeof import('./src/components/manage/ManagePlacementInstructions.vue')['default'] + ProgressSpinner: typeof import('primevue/progressspinner')['default'] QueryRender: typeof import('./src/components/QueryRender.vue')['default'] RadioButton: typeof import('primevue/radiobutton')['default'] ReadContactInfo: typeof import('./src/components/read/ReadContactInfo.vue')['default'] diff --git a/apps/frontend/public/manifest.json b/apps/frontend/public/manifest.json index 2ce8bda..9ed1ca9 100644 --- a/apps/frontend/public/manifest.json +++ b/apps/frontend/public/manifest.json @@ -16,5 +16,6 @@ ], "theme_color": "#ffffff", "background_color": "#ffffff", - "display": "standalone" + "display": "standalone", + "gcm_sender_id": "822536580006" } \ No newline at end of file diff --git a/apps/frontend/public/service-worker.js b/apps/frontend/public/service-worker.js index 040f00f..d3ec03a 100644 --- a/apps/frontend/public/service-worker.js +++ b/apps/frontend/public/service-worker.js @@ -8,6 +8,12 @@ self.addEventListener('install', (event) => { // of event.waitUntil(); }) +self.addEventListener('activate', (event) => { + event.waitUntil( + clients.claim(), // Привязка нового сервис-воркера к текущим клиентам + ) +}) + self.addEventListener('push', (event) => { const data = event.data.json() console.log('Push событие получено:', data.type) @@ -77,10 +83,9 @@ self.addEventListener('notificationclick', (event) => { if (clients.openWindow) { console.log('новое окно', urlToOpen) return clients.openWindow(urlToOpen).then((client) => { - if (client) { - return client.focus() + if (!client) { + console.log('новое окно не открылось') } - console.log('новое окно не открылось') }) } }) diff --git a/apps/frontend/src/components/create/CreateMessageDeliveryOption.vue b/apps/frontend/src/components/create/CreateMessageDeliveryOption.vue index 7c84e44..e2718aa 100644 --- a/apps/frontend/src/components/create/CreateMessageDeliveryOption.vue +++ b/apps/frontend/src/components/create/CreateMessageDeliveryOption.vue @@ -1,7 +1,8 @@ diff --git a/apps/frontend/src/components/create/CreateMessageDeliveryOptionWebPush.vue b/apps/frontend/src/components/create/CreateMessageDeliveryOptionWebPush.vue index abb45c2..8dc6ae8 100644 --- a/apps/frontend/src/components/create/CreateMessageDeliveryOptionWebPush.vue +++ b/apps/frontend/src/components/create/CreateMessageDeliveryOptionWebPush.vue @@ -1,5 +1,5 @@