【发布时间】:2021-08-02 17:17:18
【问题描述】:
我尝试使用下面的代码在 Document 快照中创建一个用户实例,但是当我导入 user.dart 并调用“user.fromDocument(docs)”时,它显示一个错误,即未为该类型定义方法 fromDocument用户
class user {
final String id;
final String username;
final String occupation;
final String email;
final String description;
user(
{this.id,
this.username,
this.occupation,
this.email,
this.description,
});
factory user.fromDocument(DocumentSnapshot doc) {
return user(
id: doc['id'],
email: doc['email'],
occupation: doc['occupation'],
photourl: doc['photoUrl'],
description: doc['description'],
username: doc['displayName']);
}
}
createUserInFirestore() async {
final GoogleSignInAccount user = _googleSignIn.currentUser;
DocumentSnapshot doc = await usersRef.doc(user.id).get();
if (!doc.exists) {
final username = await Navigator.push(
context, MaterialPageRoute(builder: (Context) => CreateAccount()));
usersRef.doc(user.id).set({
"id": user.id,
"Occupation": username,
"photoUrl": user.photoUrl,
"email": user.email,
"displayName": user.displayName,
"description": "",
"timestamp": timestamp
});
Navigator.pushNamed(context, HomePage.id);
usersRef.doc(user.id).get();
} else if (doc.exists) {
Navigator.pushNamed(context, HomePage.id);
}
**currentUser = user.fromDocument(doc);**
print(currentUser);
print(currentUser.username);
}
【问题讨论】:
标签: firebase flutter dart firebase-realtime-database google-cloud-firestore