У меня проблемы с приложением Firebase vs Ionic 3, когда я создаю нового пользователя в приложении, я не знаю, почему я могу создать нового пользователя только один раз в день, и я пытаюсь повторить в тот же день, нобаза данных не обновляется.Это кажется глупостью, но это именно то, что происходит.У меня есть файл Firebase с именем firebase.ts
с учетными данными базы данных для создания соединения:
export const firebaseConfig = {
// I replaced the data with "#" here for security reasons:
apiKey: "###",
authDomain: "###",
databaseURL: "###",
projectId: "###",
storageBucket: "###",
messagingSenderId: "###",
appId: "###"
}
Затем у меня есть функция регистра в файле login.ts
:
createAccount() {
let load = this.loadingCtrl.create();
load.present();
this.authProvider.register(this.registerForm)
.then((res) => {
let uid = res.user.uid;
//organize data
let data = {
uid: uid,
name: this.registerForm.name,
email: this.registerForm.email
};
//Gravar usuario no firestore
this.firebaseProvider.postUser(data)
.then(() => {
this.storage.set('usuario', data)
.then(() => {
load.dismiss();
this.navCtrl.setRoot('HomePage');
})
})
.catch((err) => {
load.dismiss();
})
})
.catch((err) => {
load.dismiss();
})
}
Инастройки провайдеров в firebase.ts
из папки Провайдеры :
import { Injectable } from "@angular/core";
import { AngularFirestore } from "angularfire2/firestore";
import "rxjs/add/operator/map";
@Injectable()
export class FirebaseProvider {
constructor(private afs: AngularFirestore) {}
//Save user on firestore
saveUser = data =>
this.afs
.collection("Users")
.doc(data.$key)
.update(data);
//Create user on firestore
postUser = data =>
this.afs
.collection("Users")
.doc(data.uid)
.set(data);
getUser(uid){
return this.afs.firestore.collection('Users').doc(uid)
.get();
}
}
И наконец authentication.ts
файл также в папке Провайдеры :
import { Injectable } from '@angular/core';
import { AngularFireAuth } from "angularfire2/auth";
@Injectable()
export class AuthProvider {
constructor(
private afAuth: AngularFireAuth
) {
}
//Create new user
register = (data) => this.afAuth.auth.createUserWithEmailAndPassword(data.email, data.password);
//Login for existing user
login = (data) => this.afAuth.auth.signInWithEmailAndPassword(data.email, data.password);
}
Что я мог сделать?Буквально, когда я создаю одного пользователя, сначала со дня, все в порядке, но затем следующий раз, когда я пытаюсь это сделать, база данных не обновляется!Любая помощь?