首页 > 解决方案 > Firebase 实时数据库,没有回报?

问题描述

这里是firebase数据库的新手,尝试登录。(想使用用户名而不是电子邮件)

所以使用实时数据库,但我似乎无法从数据库中得到任何东西。我看不出我在做什么有什么问题。起初以为是因为规则,将它们设置为 auth == null 后的结果相同。

有任何想法吗?

 public FirebaseClient firebase = new FirebaseClient("https://MyApp.firebaseio.com/");
 private readonly string ChildName = "Users";

 public async Task<List<Userlogin>> GetAllUser()
        {

         return (await firebase
                .Child(ChildName)
                .OnceAsync<Userlogin>()).Select(item =>
                new Userlogin
                {
                    user_login = item.Object.user_login,
                    passwords = item.Object.passwords
                }).ToList();
        }

  public async Task<Userlogin> GetUser(string user_login)
        {
            try
            {
                var allUsers = await GetAllUser();
                await firebase
                .Child(ChildName)
                .OnceAsync<Userlogin>();
                return allUsers.Where(a => a.user_login == user_login).FirstOrDefault();
            }
            catch (Exception e)
            {
                Crashes.TrackError(e);
                return null;
            }
        }

private async void Login_Phase1()
{
            try
            {
                if (string.IsNullOrEmpty(Usernamelabel.Text) || string.IsNullOrEmpty(Password.Text))
                    await App.Current.MainPage.DisplayAlert("Empty Values", "Please enter Email and Password", "OK");
                else
                {
                    var user = await GetUser(Usernamelabel.Text);

                    if (user != null)
                        if (Usernamelabel.Text == user.user_login && Password.Text == user.passwords)
                        {
                            Login_Phase2();
                        }
                        else
                            await App.Current.MainPage.DisplayAlert("Login Fail", "Please enter correct Email and Password", "OK");
                    else
                        await App.Current.MainPage.DisplayAlert("Login Fail", "User not found", "OK");
                }

            }
            catch (Exception e)
            {
                Crashes.TrackError(e);
            }
}

在此处输入图像描述

在此处输入图像描述

标签: c#firebasefirebase-realtime-database

解决方案


笔记:

我相信这可能并非总是如此

导入数据库“用户”时在我的情况下,如果您使用 Json 文件导入。

出于某种奇怪的原因,我不得不在数据库上创建一个手动用户,以便在呼叫中注册其他用户。

解决方案:

只需使用正确的属性在数据库上创建一个新子项。


推荐阅读