Как использовать данные Firestore для проверки использования флаттера приложения - PullRequest
0 голосов
/ 29 марта 2020

Я новичок во флаттере и пытаюсь создать простую регистрацию, которая включает аутентификацию номера телефона с использованием firebase, которая предоставит идентификатор пользователя, а затем использует этот идентификатор для хранения информации пользователя. Проблема, с которой я столкнулся, заключается в том, что я хочу, чтобы страница регистрации сбора имен, чтобы ссылки на uid появлялись только один раз. когда пользователь аутентифицируется в Loginpage (), он должен направить его на домашнюю страницу (), которая является страницей регистрации, и это должно появиться, только если пользователь отсутствует в базе данных firestore, но если он присутствует, то приложение должно отведите его прямо на страницу панели инструментов (). В настоящее время я пытался работать с streambuilder, но на самом деле я получаю следующую ошибку

"тип 'Future' не является подтипом типа 'Widget'"

и кода это как следовать

  handleAuth() async {
    final FirebaseUser user = await FirebaseAuth.instance.currentUser();
    final String uid = user.uid.toString();
    return StreamBuilder(
      stream: FirebaseAuth.instance.onAuthStateChanged,
      builder: (context, snapshot1) {
        return StreamBuilder(
          stream:
              Firestore.instance.collection('users').document(uid).snapshots(),
          builder: (context, snapshot2) {
            if (snapshot1.hasData) {
              if (snapshot2.hasData) {
                return DashboardPage();
              } else {
                return homepage();
              }
            } else {
              return LoginPage();
            }
          },
        );
      },
    );
  }

Пожалуйста, помогите !!!!!

...