在Firebase中存储注册数据

时间:2018-09-27 12:30:47

标签: javascript firebase google-cloud-firestore angular6

我需要有关在Firebase中存储注册数据的帮助。  我想将当前登录用户的电子邮件名称存储在Firebase数据库中。 请帮助我。我正在写代码,使用户可以在另一个用户的个人资料上写东西。

// auth服务

import { Injectable } from "@angular/core";
import { AngularFireAuth } from "@angular/fire/auth";
import { Observable } from "rxjs";
import "rxjs/add/operator/map";

@Injectable()
export class AuthService {
  constructor(private afAuth: AngularFireAuth) {}

  login(email: string, password: string) {
    return new Promise((resolove, reject) => {
      this.afAuth.auth
        .signInWithEmailAndPassword(email, password)
        .then(userData => resolove(userData), err => reject(err));
    });
  }
  getAuth() {
    return this.afAuth.authState.map(auth => auth);
  }
  logout() {
    this.afAuth.auth.signOut();
  }
  register(email: string, password: string) {
    return new Promise((resolove, reject) => {
      this.afAuth.auth
        .createUserWithEmailAndPassword(email, password)
        .then(userData => resolove(userData), err => reject(err));
    });
  }
}
**register component**
import { Component, OnInit } from "@angular/core";
import { AuthService } from "../../service/auth.service";
import { Router } from "@angular/router";

@Component({
  selector: "app-register",
  templateUrl: "./register.component.html",
  styleUrls: ["./register.component.css"]
})
export class RegisterComponent implements OnInit {
  email: string;
  password: string;
  constructor(private authService: AuthService, private router: Router) {}

  ngOnInit() {}

  onSubmit() {
    this.authService
      .register(this.email, this.password)
      .then(res => {
        this.router.navigate(["/"]);
      })
      .catch(err => console.log(err.message));
  }
}

0 个答案:

没有答案