Итак, у меня есть следующий код для моего LoginPage.
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { User } from '../../models/user';
import { AngularFireAuth } from 'angularfire2/auth';
import { AlertController } from 'ionic-angular';
import { RegisterPage } from '../../pages/register/register';
import { HomePage } from '../../pages/home/home';
import { ProfileSetupPage } from '../../pages/profiles/profile-setup/profile-setup';
@Component({
selector: 'page-login',
templateUrl: 'login.html'
})
export class LoginPage {
user = {} as User;
constructor(private afAuth : AngularFireAuth, public navCtrl: NavController, public alertCon: AlertController) {
}
onGoToRegister(){
this.navCtrl.push(RegisterPage);
}
showInvalidUserAlert(){
let alert = this.alertCon.create({
title: 'Invalid Login',
subTitle: 'Sorry about that! Try logging in again',
buttons: ['Got it']
});
alert.present();
}
async onLogin(user: User){
this.afAuth.auth.signInWithEmailAndPassword(user.email, user.password)
.then(res => {
this.navCtrl.setRoot(ProfileSetupPage);
}, err => {
let msg;
switch (err.code){
case "auth/wrong-password":
msg = "Email or Password is incorrect";
break;
case "auth/user-not-found":
msg = "User not found"
break;
case "auth/invalid-email":
msg = "Oops! Invalid email. Please try again"
break;
}
alert(msg);
});
}
onLogout(){
this.afAuth.auth.signOut();
}
}
Моя функция onLogin принимает значения из модели User, а затем проверяет эти учетные данные и, если они верны, перенаправит вас кProfileSetupPage.Это правильный рабочий процесс, если они являются новым пользователем и еще не создали свой профиль, однако, если они являются существующим пользователем, они должны просто пройти проверку подлинности и быть перенаправлены на домашнюю страницу.Каков наилучший способ справиться с этим?Должен ли я просто включить другое значение в модель User, которое является логическим, и переключить его таким образом?Или, может быть, у ионной / пожарной базы есть более простое решение.Спасибо за помощь