Flutter 新手,第一次發帖!
我正在使用 Firebase 和 Cloud Firestore 構建一個帶有顫振的移動應用程式。每個用戶在通過身份驗證(通過電子郵件和密碼)后,當前也被添加到 Firestore 中的“用戶”集合中 - 如下所示:
報名方式:
Future signUp() async {
if (passwordConfirmed()) {
await FirebaseAuth.instance.createUserWithEmailAndPassword(
email: _emailController.text.trim(),
password: _passwordController.text.trim(),
);
// add user details
addUserDetails(
_firstNameController.text.trim(),
_lastNameController.text.trim(),
_emailController.text.trim(),
_baseStationController.text.trim(),
);
}
}
Future addUserDetails(String firstName, String lastName, String email,
String baseStation) async {
await FirebaseFirestore.instance.collection('users').add({
'first name': firstName,
'last name': lastName,
'email': email,
'base station': baseStation,
});
}
當他們將資訊輸入表單中的文本欄位并單擊按鈕時,將呼叫 signup() 方法。這成功了,我的用戶集合收到了資料,并且登錄/注銷正常作業。
這些用戶有一個“基站”(在 Firestore 中存盤為該用戶檔案中的一個欄位),這是他們的作業地點。我想在他們登錄時顯示一個歡迎螢屏,以便顯示當前用戶的“基站”。
我可以使用以下方式訪問他們的電子郵件地址:
final thisUser = FirebaseAuth.instance.currentUser!;
然后例如在他們登錄時顯示:
Text('Hello, ${thisUser.email!}')
這沒問題,但是......
我無法弄清楚他們的身份驗證如何鏈接到集合,所以我想顯示“當前用戶”的“基站”,例如當他們登錄時(我不希望他們必須選擇他們的基站每次選擇者都已經提供了注冊資訊時。
順便說一句 - 我還可以(單獨)成功地從集合中讀取資料,并(例如)使用用戶集合資訊創建一個 listView 構建器,但這適用于所有用戶,而不是專門針對已登錄的“當前用戶” .
感激地收到所有幫助,如果我遺漏了任何東西,我們深表歉意。
uj5u.com熱心網友回復:
update addUserDetails as follows
Future addUserDetails(String firstName, String lastName, String email,
String baseStation) async {
await FirebaseFirestore.instance.collection('users').doc(FirebaseAuth.instance.currentUser!.uid).set({
'first name': firstName,
'last name': lastName,
'email': email,
'base station': baseStation,
});
如果您想獲取特定的用戶詳細資訊,請使用以下代碼
final user = await FirebaseFirestore.instance.collection('users').doc(FirebaseAuth.instance.currentUser!.uid).get();
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/510137.html
