Мне нужно выйти из системы, когда значение базы данных ложно - PullRequest
0 голосов
/ 14 июня 2019

Я должен закрыть приложение, когда значение базы данных firebase равно false, чтобы обеспечить управление приложением, когда я захочу.У меня проблема с этим, когда пользователь уже вошел в систему, он не запускается, я должен перезагрузить приложение, чтобы оно заработало.Я пытаюсь вызвать функцию каждый раз, когда пользователь открывает страницу.Как я могу это сделать?

Мой код в машинописи такой:

checkServerStatus() {
 this.afs.collection('settings').doc('PlatformStatus').ref.get().then(doc => {
  let status = doc.data().statusMobileApp;
  if(status){
    this.nav.setRoot(HomePage);
    }
      else{
        Swal({
          type: 'info',
          title: 'Problema con Base de Datos' ,
          html: 'Error al conectarse con la base de datos. Intente mas tarde.'+
          '<br><br><div class="swalButtonContainer"><button id="btnGiveOptionsAccept" type="button" role="button"" class="customSwalBtnRed">' + 'Aceptar' + '</button>',
          showCancelButton: false,
          showConfirmButton: false,
        });
        this.userProvider.logout();
        let btn3 = document.getElementById("btnGiveOptionsAccept");
        btn3.addEventListener("click", (e:Event) => {
          Swal.close();
          this.nav.push(LoginPage);
        });
      }
    });
}

У меня есть эта функция в app.components.

1 Ответ

0 голосов
/ 16 июня 2019

Rxjs может помочь вам здесь.Вы можете сделать это, создав Subject для того, вошел ли пользователь в систему или нет.Затем в вашем app.component.ts вы можете подписаться на эту тему, и всякий раз, когда значение темы меняется, ваша логика выше будет обрабатывать новое значение. Вот отличное руководство , которое показывает, как предметы могут использоваться для общения с компонентами.

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