我有一个应用程序,其中数据保存在本地存储中。我想为用户提供一项功能(可选),将其数据存储在云中(firebase)。
用户使用“同步”按钮(如果已通过身份验证)或登录/注册表单(如果未通过)访问特定页面
我已经有身份验证和数据库服务,但是我不知道如何和/或在哪里“保存用户”。
当我访问同步页面时,它总是显示表单,因为我不知道要使用哪个“标志”进行比较。
网上的所有示例都向我展示了使用登录名/页面进行身份验证,然后重定向。我的应用程序无需注册即可正常运行。我只需要保留用户数据,这样他就不必再登录了。
这是我的SigIn方法
isAuthenticated(): boolean {
return ????;
}
signUp(userInfo, appData): Promise<any> {
return firebase.auth().createUserWithEmailAndPassword( userInfo.email, userInfo.password )
.then((newUserCredential: firebase.auth.UserCredential) => {
delete userInfo.password;
firebase.database().ref(`/users/${newUserCredential.userInfo.uid}`)
.set(userInfo)
.then(() => {
firebase.database().ref(`progress/${newUserCredential.userInfo.uid}`)
.set( JSON.parse( JSON.stringify(appData) ))
.then(() => return true )
.catch(err => { throw err })
})
.catch(err => { throw err })
})
.catch(err => { throw err });
}
signInWithEmail(userInfo): Promise<any> {
return firebase.auth().signInWithEmailAndPassword( userInfo.email, userInfo.password )
.then((newUserCredential: firebase.auth.UserCredential) => {
this.userUID = newUserCredential.userInfo.uid;
})
.catch(err => { throw err });
}
signOut(): Promise<void> {
return firebase.auth().signOut();
}
您可能会建议我进行的其他改进。 :D