这是我的 .js 代码
$("#loginBtn").click(
function(){
var email = $("#loginEmail").val();
var password = $("#loginPassword").val();
if(email != "" && password != ""){
$("#loginProgress").show();
$("#loginBtn").hide();
$("#registerBtn").hide();
firebase.auth().signInWithEmailAndPassword(email,
password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
$("#loginError").show().text(errorMessage);
$("#loginProgress").hide();
$("#loginBtn").show();
$("#register_account_Btn").hide();
$("#back_btn").hide();
});
}
}
);
/* REGISTER PROCESS */
$("#register_account_Btn").click(
function () {
var email = $("#regEmail").val();
var password = $("#regPassword").val();
if(email != "" && password != ""){
$("#loginProgress").show();
$("#loginBtn").hide();
firebase.auth().createUserWithEmailAndPassword(email,
password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
$("#loginError").show().text(errorMessage);
$("#loginProgress").hide();
$("#loginBtn").show();
$("#register_account_Btn").hide();
$("#back_btn").hide();
});
}
我在互联网上找到了这个,但我不知道在哪里插入它。 这是正确的吗?
var uid = firebase.auth().currentUser.uid;
firebase.database().ref().child('accounts').child(uid).set({
email: user.email,
userId: uid
})
我应该创建另一个函数吗?
这些是我的 firebase 数据库中的规则。建议使用这个吗? 附加问题: 我想创建一个用户 Angular 色:教师和学生。教师可以创建教室、添加学生、查看学生列表。而学生可以查看他/她的同学和老师。我该怎么做?
{
"rules": {
"users": {
"$uid": {
".read": false,
".write": "$uid === auth.uid"
}
}
}
}
最诚挚的歉意,但我对此很陌生;(
最佳答案
firebase.auth().createUserWithEmailAndPassword
函数返回一个 Promise: firebase.User
。
您只能用代码捕获异常,如果您将 .then
链接到函数上,您就可以获取用户信息并将该用户保存到数据中。
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(user => {
// Save user here.
return firebase.database().ref('/users/' + user.uid).set({
email: user.email,
uid: user.uid
});
})
.catch(function(error) {
// Handle Errors here.
});
您关于教师/学生的其他问题非常广泛 - 尝试将其缩小到解决方案,如果您遇到某些具体问题,请创建一个新问题。
关于javascript - 注册帐户后如何将用户 uid 存储到 firebase 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52158098/