【发布时间】:2021-02-09 18:23:04
【问题描述】:
我正在开发一些用户具有管理员角色而其他用户具有用户角色的应用程序。下面的类检查分配给用户的角色并将他们引导到适当的屏幕。问题是我不断收到这个错误方法'then'没有为类型'User'定义。我浏览了这个平台上发布的一些文档,我增加了我的版本pubspec.yaml 中的软件包以确保所有内容都已更新,但问题仍然存在。欢迎任何帮助
class UserManagement {
Widget handleAuth() {
return StreamBuilder(
stream: FirebaseAuth.instance.authStateChanges(),
builder: (BuildContext context, snapshot) {
if (snapshot.hasData) {
print(snapshot.data.uid);
return AdminDashboard();
}
return LoginScreen();
},
);
}
final auth = FirebaseAuth.instance.currentUser;
authorizeAdmin(BuildContext context) {
auth.then((user) {
FirebaseFirestore.instance
.collection('users')
.where('uid', isEqualTo: user.uid)
.get()
.then((docs) {
if (docs.docs[0].exists) {
if (docs.docs[0].data()['role'] == 'admin') {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => AdminDashboard()),
);
} else {
print('Access Denied');
}
}
});
});
}
}
【问题讨论】:
标签: flutter dart firebase-authentication