Невозможно получить доступ к действиям Vue.js из файла Serviceworker.js с помощью Firebase - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь реализовать push-уведомление firebase.У меня частично получилось, после получения уведомления я могу щелкнуть мышью, и управление перейдет в файл «firebase-messaging-sw.js».Ниже приведен код, который поможет вам лучше понять мою проблему.

Ниже приведен код файла firebase-messaging-sw.js

importScripts('https://www.gstatic.com/firebasejs/4.8.1/firebase-app.js')
importScripts('https://www.gstatic.com/firebasejs/4.8.1/firebase-messaging.js')

self.addEventListener('notificationclick', function(event) {

if (event.action === 'accept') {
    // Like button was clicked                            
}
else if (event.action === 'declined') {
    // Unsubscribe button was clicked                       
}

  event.notification.close()
})

firebase.initializeApp({
   messagingSenderId: "716766726073"
})

const messaging = firebase.messaging()

Ниже приведен код файла User.js

зарегистрировать файл firebase-messaging-sw.js

if (navigator && navigator.serviceWorker) 
      {
        navigator.serviceWorker
         .register('/firebase-messaging-sw.js')//''
          .then(registration => {

            console.log("ServiceWorker registered with scope:",registration.scope)
          })
          .catch(e => console.error("ServiceWorker failed:", e))
      }

Ниже приведена функция для вызова уведомления

     navigator.serviceWorker.getRegistration().then(function(reg) {
       var options = {
         body: "User Calling",
         icon: details.img,
         image: details.img,
         requireInteraction: true,
         vibrate: [100, 50, 100],                        
         actions: [
           {action: 'acceptCall', title: 'ACCEPT',
             icon: ''},
           {action: 'declineCall', title: 'DECLINE',
             icon: ''},
         ]
       }
       reg.showNotification('Hello Team', options)          

     })

Когда я получаю уведомление и нажимаю на кнопку действия"событие получает огонь, который находится на firebase-messaging-sw.js.

Моя проблема

У меня есть несколько методов, которые находятся в файле User.js, и я хочу вызвать этот метод из firebase-messaging-sw.js файл.Я пытался импортировать, но это дает ошибку во время выполнения.Ниже приведена структура файла.

Root
 --Static
   --firebase-messaging-sw.js
 --Store
   --User.js

Надеюсь, я уверен в своих сомнениях, и любая помощь будет признательна.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...