Вернитесь к URL-адресу после входа в систему - PullRequest
0 голосов
/ 20 июня 2020

Я хочу, чтобы пользователи возвращались к предыдущему URL-адресу после входа в систему, например, если вы ищете какие-либо отели на oyorooms.com или fabhotels.com, а затем внезапно входите туда.

После входа в систему вы можете увидеть предыдущая страница или произнесите предыдущее действие, например, что вы ищете на сайте. Итак, я хочу сделать это в своем приложении Angular.

Как это сделать?

1 Ответ

0 голосов
/ 20 июня 2020

Одна вещь, которую вы можете сделать в этом состоянии, - сохранить предыдущий URL-адрес в service или localStorage и перенаправить после страницы входа на сохраненный предыдущий URL-адрес.

и в охране:

 canActivate(
    return this.checkAuth();
  }

checkAuth(): Observable<boolean> {
    if (this.isUserLogged()) {

      return of(true);
    } else {
      const url = window.location.pathname;
      if (
        url === '/setting'
      ) {
        this.router.navigate(['/home']);
        return of(false);
      } else {

        return this.openLoginModal();
      }
      return false;
    }
  }


  openLoginModal(): Observable<boolean> {
    this.bsModalRef = this.modalService.show(LoginComponent, {
      class: 'modal-lg registerpopup'
    });
    this.bsModalRef.content.title = 'New Client';

    return this.bsModalRef.content.loginEmitter.pipe(
      tap((isLoggedIn: boolean) => {
        alert(isLoggedIn);
        this.isLoggedIn = isLoggedIn;
        this.bsModalRef.hide();
        this.bsModalRef = null;
      })
    );
  }
...