Flutter 和 Firebase 管理员和普通用户登录

时间:2021-02-23 21:54:44

标签: firebase flutter google-cloud-firestore

你好,我是 flutter 和 firebase 的新手,我在用户文档中有一个名为 admin 的字段,它是一个布尔值,我想在登录功能中检查这个布尔值。 到目前为止我想到的是:

onPressed: () async {
  if (_formKey.currentState.validate()) {
    if (!await user.signIn(_email.text, _password.text)) {
      toast("Signin Faild");
    } else {
      if(await _firestore.collection('users').doc(_auth.currentUser.uid).get().)
        changeScreenReplacement(context, HomePage());
      toast("Signedin successfully");
    }
  }
},

我不知道在这部分该怎么做: if(await _firestore.collection('users').doc(_auth.currentUser.uid).get().)

我想在这里检查该字段是否等于 true 或 false 我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果你想检查用户是否返回true或false,你可以这样做:

onPressed: () async {
  if (_formKey.currentState.validate()) {
    if (!await user.signIn(_email.text, _password.text)) {
      toast("Signin Faild");
    } else {
      FirebaseUser user = await _auth.currentUser();
      DocumentReference document = await _firestore.collection('users').doc(user.uid).get()
      if(document.data['admin'] == true)
        changeScreenReplacement(context, HomePage());
      toast("Signedin successfully");
    }
  }
},

您还可以检查 Flutter Documentation