Ionic - мигает с неверной стартовой страницей при запуске приложения - PullRequest
2 голосов
/ 21 июня 2019

Я создал 2 охранников маршрута ... один, который проверяет, вошел ли пользователь в систему, и один, если он не прошел проверку подлинности.

Когда приложение запускается, очень коротко определяет, ища файл cookie localalstorage, чтопользователь существует, и поэтому показывает страницу unauth (то есть страницу входа в систему)

Мне интересно, каков наилучший подход для решения этой проблемы - на мой взгляд, автор с наблюдением, чтобы увидеть, вошел ли пользователь в систему или нетлучший подход, но есть доля секунды, в то время как код выполняется, который он не может определить, и он хочет что-то показать.

1 Ответ

2 голосов
/ 22 июня 2019

У меня была такая же проблема несколько месяцев назад, и я решил ее, создав Auth Guard и вернув обещание ...

auth.guard.ts

  canActivate(
    next: ActivatedRouteSnapshot,
    state: RouterStateSnapshot,
  ): Observable<boolean> | Promise<boolean> | boolean {
    return new Promise(resolve => {
      const userAuthObs = this.afAuth.user.subscribe(user => {
        if (user) {
          resolve(true);
        } else {
          this.router.navigate(['signup']);
          resolve(false);
        }
      });
    });
  }

Приложение просто продолжает нормально загружаться, ожидая, пока это обещание решит, куда направить пользователя.

Здесь вы можете посмотреть отличное видео о создании аутентичных охранников ... https://www.youtube.com/watch?v=RxLI9_ub6PM

...