Аутентификация на основе ролей в flutter-firebase. Когда я вхожу в систему, ничего не происходит - PullRequest
0 голосов
/ 03 августа 2020

Я новичок в программировании. Пытаюсь сделать свое первое приложение для флаттера. Я бы хотел разные экраны для разных пользователей. Я написал следующее, но все, что происходит, когда я вхожу в систему, - это выполнение pf print (phoneNo). Может ли кто-нибудь помочь мне здесь?

class AuthService {
  bool isDentist = false;
  bool isPatient = false;

  userType(mobileNo){
    final snapShotd = Firestore.instance
        .collection('dentists')
        .where("mobile", isEqualTo: '$mobileNo');
    final snapShotp = Firestore.instance
        .collection('patients')
        .where("mobile", isEqualTo: '$mobileNo');
    if (snapShotd != null) {
      isDentist = true;
    }
    if (snapShotp != null) {
      isPatient = true;
    }
  }
  //Handles Auth
  handleAuth() {
    return StreamBuilder(
        stream: FirebaseAuth.instance.onAuthStateChanged,
        builder: (BuildContext context, snapshot) {
          if (snapshot.hasData & isPatient == true) {
              return PatientContact();
            }
          else if (snapshot.hasData & isDentist == true) {
            return DoctorContact();
          }
          else {
            return ContactUs();
          }
        });
  }

  //Sign out
  signOut() {
    FirebaseAuth.instance.signOut();
  }

  //SignIn
  signIn(AuthCredential authCreds) {
    FirebaseAuth.instance.signInWithCredential(authCreds);

  }

  signInWithOTP(smsCode, verId, phoneNo) {
    AuthCredential authCreds = PhoneAuthProvider.getCredential(
        verificationId: verId, smsCode: smsCode);
    signIn(authCreds);
    print (phoneNo);
    userType(phoneNo);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...