Guest User

Untitled

a guest
Nov 9th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. import { Component } from '@angular/core';
  2.  
  3. // Nesse import adicionamos o AlertController que será usado para apresentar a mensagem do nosso aplicativo
  4. import { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular';
  5.  
  6. // Importação do nosso modelo de usuário
  7. import { User } from '../../models/user';
  8.  
  9. // Importação do nosso serviço de autenticação
  10. import { AuthProvider } from '../../providers/auth/auth';
  11.  
  12. // Importação da página que o usuário será redirecionado após o login
  13. import { TabsPage } from '../tabs/tabs';
  14.  
  15.  
  16. @IonicPage()
  17. @Component({
  18. selector: 'page-login',
  19. templateUrl: 'login.html',
  20. })
  21. export class LoginPage {
  22.  
  23. // Definindo o nosso atributo usuário do tipo User
  24. public user = {} as User;
  25.  
  26. // Aqui no contrutor vamos adicionar o AuthProvider e o AlertController
  27. constructor(public navCtrl: NavController, public navParams: NavParams,
  28. private auth: AuthProvider, private alertCtrl: AlertController
  29. ) { }
  30.  
  31.  
  32. // Método para exibir as nossas mensagens de erro.
  33. alert(title, message) {
  34. let al = this.alertCtrl.create({
  35. title: title,
  36. subTitle: message,
  37. buttons: ['Fechar']
  38. });
  39. al.present();
  40. }
  41.  
  42. // Método usado para login do usuário
  43. // Recebe como parametro um tipo user e tenta fazer o login
  44. async login(user: User) {
  45. // Valida se foi informado email e password
  46. if(user.email == "" || user.password == "")
  47. {
  48. this.alert('Erro', 'É necessário informar o email e senha');
  49. } else {
  50. try {
  51. // Chama o método para fazer login
  52. const result = await this.auth.login(user);
  53. if (result) {
  54. // Se ocorrer tudo bem redireciona para a página tabs
  55. this.navCtrl.setRoot(TabsPage);
  56. }
  57. } catch (e) {
  58. this.alert('Erro ao logar', e.message);
  59. }
  60. }
  61. }
  62.  
  63.  
  64. async register(user: User) {
  65.  
  66. // Valida se foi informado email e password
  67. if(user.email == "" || user.password == "")
  68. {
  69. this.alert('Erro', 'É necessário informar o email e senha');
  70. } else {
  71. try {
  72.  
  73. // Chama o método para cadastrar usuário
  74. const result = await this.auth.register(user);
  75. if (result) {
  76. // Se ocorrer tudo bem redireciona para a página tabs
  77. this.navCtrl.setRoot(TabsPage);
  78. }
  79. } catch (e) {
  80. this.alert('Erro ao cadastrar', e.message);
  81. }
  82. }
  83. }
  84.  
  85. ionViewDidLoad() {
  86. // Toda vez que um usuário acessar a página de login ele será deslogado
  87. this.auth.logout();
  88. }
  89.  
  90. }
Add Comment
Please, Sign In to add comment