登录用户并加载他的数据

Logging in the User and loading his data

用户登录后,不知道如何进一步进入应用程序,fetch/represent他的信息并开始填充它。 在我的例子中,用户仅使用电子邮件和密码注册,没有其他信息。

如下图所示,AuthenticationFirestore 看起来是分开的东西

  1. (可选)进一步我想了解如何保存其他帖子并订阅用户。

注册ViewModel

import Firebase

class RegisterViewModel: ObservableObject {

    var email: String = ""
    var password: String = ""

    func register(completion: @escaping () -> Void) {
    
        Auth.auth().createUser(withEmail: email, password: password) { (result, error) in
            if let error = error {
                print(error.localizedDescription)
            } else {
               print("registered successfully")
               completion()
            }
        }
    }

}

登录 ViewModel

class LoginViewModel: ObservableObject {

    var email: String = ""
    var password: String = ""

    func login(completion: @escaping () -> Void) {
    
        Auth.auth().signIn(withEmail: email, password: password) { (result, error) in
        
            if let error = error {
                print(error.localizedDescription)
            } else {
                print("logged in successfully")
                completion()
            }
        }
    }
}

有多种方法可以做到这一点。某些信息可保存在用户或身份验证中。喜欢 username, phone number or photo url.

我通常使用唯一的用户 ID user.uid 将用户的文档添加到包含所有用户的集合中。您可以在那里轻松保存所有附加信息。喜欢好友请求、好友、帖子、图片网址等

所以对于您的问题:要求用户在创建帐户时或首次登录时输入用户名和其他附加信息。或者只是使选项可用以将它们添加到用户配置文件中。