如何在 Flutter 社交媒体应用程序中向所有用户验证唯一用户名?
How to validate Unique username to all users in Flutter social media app?
我正在创建一个 Memer 社交媒体应用程序。所以在这一切都准备好了,但我对为所有用户提供唯一显示名称感到困惑。用户名由用户提供。但是如何验证它是否真的存在呢?所有数据都存储在 firebase 云 firestore 中。那么有人可以帮助我吗?
用户名是这样存储的:collection "users" -> document "userId" ->field "username"
您可以创建 cloud function
,它将获得用户名和 returns bool(如果它是否唯一)。
为此,我创建了一个名为 username 的新集合。在创建帐户之前,我调用了这个函数来检查可用性:-
checkUsernameIsUnique(String username)async
{
QuerySnapshot querySnapshot;
setState(() {
loading=true;
});
querySnapshot=await FirebaseFirestore.instance.collection('username').where("username",isEqualTo: username).getDocuments();
print(querySnapshot.documents.isNotEmpty);
return querySnapshot.documents.isEmpty;
}
checkUsernameIsUnique('username to be checked').then((val){
if(val)
{
//create the user and store the username in username collection also
FirebaseFirestore.instance.collection('username').document(widget.username).setData({
"username":widget.username,
});
}
else
//username is taken
});
我正在创建一个 Memer 社交媒体应用程序。所以在这一切都准备好了,但我对为所有用户提供唯一显示名称感到困惑。用户名由用户提供。但是如何验证它是否真的存在呢?所有数据都存储在 firebase 云 firestore 中。那么有人可以帮助我吗? 用户名是这样存储的:collection "users" -> document "userId" ->field "username"
您可以创建 cloud function
,它将获得用户名和 returns bool(如果它是否唯一)。
为此,我创建了一个名为 username 的新集合。在创建帐户之前,我调用了这个函数来检查可用性:-
checkUsernameIsUnique(String username)async
{
QuerySnapshot querySnapshot;
setState(() {
loading=true;
});
querySnapshot=await FirebaseFirestore.instance.collection('username').where("username",isEqualTo: username).getDocuments();
print(querySnapshot.documents.isNotEmpty);
return querySnapshot.documents.isEmpty;
}
checkUsernameIsUnique('username to be checked').then((val){
if(val)
{
//create the user and store the username in username collection also
FirebaseFirestore.instance.collection('username').document(widget.username).setData({
"username":widget.username,
});
}
else
//username is taken
});