Сценарий

Если пользователь посещает наше приложение и пользователь уже вошел в систему, мы хотим перенаправить пользователя на маршрут /app.

Мы будем использовать Firefly Semantics Slice Object Store для реализации реактивной обработки событий.



Подход

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

/**
 * Redirect the user to the application
 * when the user is authenticated.
 * @param route
 */
public onAuthRedirectToApplication(route:string) {
this.s.OS.S.IS_AUTHENTICATED.obs.subscribe(auth => {
    auth && this.r.navigate([route])
    })
}

Обратите внимание, что когда приложение загружается, оно должно проверить, вошел ли пользователь в систему, и если это так, выполнить put в экземпляре Slice Object Store, моделирующем параметр IS_AUTHENTICATED. Например:

this.s.OS.put(this.s.OS.S.IS_AUTHENTICATED, true)

Представлено