| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- import { Component, OnInit } from '@angular/core';
- import { Facebook, FacebookLoginResponse } from '@awesome-cordova-plugins/facebook/ngx';
- import { WpdataService } from "../services/wpdata.service";
- import { Storage } from '@ionic/storage-angular';
- import { Router } from '@angular/router';
- import { ModalController, Platform } from '@ionic/angular';
- import { ProfilePage } from '../profile/profile.page';
- import { RegisterFormPage } from '../register-form/register-form.page';
- import { ForgotPasswordPage } from '../forgot-password/forgot-password.page';
- import { SignInWithApple, AppleSignInResponse, AppleSignInErrorResponse, ASAuthorizationAppleIDRequest } from '@awesome-cordova-plugins/sign-in-with-apple/ngx';
- @Component({
- selector: 'app-login',
- templateUrl: './login.page.html',
- styleUrls: ['./login.page.scss'],
- })
- export class LoginPage implements OnInit {
- registerForm = { email: "", password:"" };
- isAndroid = false;
- constructor(private fb: Facebook, private wp: WpdataService, private storage: Storage, private router:Router, public modalController: ModalController, private signInWithApple: SignInWithApple, private platform: Platform) { }
- //constructor() { }
- ngOnInit() {
- if (this.platform.is('android')) {
- this.isAndroid = true;
- console.log("Android");
- }else {
- console.log("Other");
- }
- }
- async ionViewWillEnter() {
- /*
- let u = await this.storage.get('user');
- console.log(u);
- if( u != null ) {
- //this.router.navigate(['/profile']);
- this.modalController.dismiss({
- 'dismissed': true
- });
- const modal = await this.modalController.create({
- component: ProfilePage,
- });
- return await modal.present();
- }*/
- }
-
- async openRegister() {
- this.modalController.dismiss({
- 'dismissed': true
- });
- const modal = await this.modalController.create({
- component: RegisterFormPage,
- });
- return await modal.present();
- }
- async openForgotPassword() {
- this.modalController.dismiss({
- 'dismissed': true
- });
- const modal = await this.modalController.create({
- component: ForgotPasswordPage,
- });
- return await modal.present();
- }
- async userLogin() {
- console.log(this.registerForm);
- if( this.registerForm.email == "" || this.registerForm.password == "" ) {
- alert("Please enter email and password");
- return;
- }
- let res = await this.wp.loginUser(this.registerForm);
- console.log(res);
- if(res.error == true) {
- alert(res.msg)
- }else {
- alert("Login Success");
- this.storage.set('user', {name: res.output.firstName + " "+res.output.lastName, email: res.output.email});
- this.dismiss();
- }
-
- }
- doFbLogin() {
- this.fb.login(['public_profile', 'email'])
- .then((res: FacebookLoginResponse) =>{
- console.log('Logged into Facebook!', res);
- this.fb.api('me?fields=id,name,email,first_name,last_name,picture.width(720).height(720).as(picture_large)', []).then(async profile => {
- console.log(profile);
- let abc = await this.wp.storeFbData(profile);
- console.log(JSON.parse(abc.data));
- this.storage.set('user', profile);
- //this.router.navigate(['/profile']);
- this.modalController.dismiss({
- 'dismissed': true
- });
- const modal = await this.modalController.create({
- component: ProfilePage,
- });
- return await modal.present();
- });
- })
- .catch(e => console.log('Error logging into Facebook', e));
-
-
- }
- dismiss() {
- // using the injected ModalController this page
- // can "dismiss" itself and optionally pass back data
- this.modalController.dismiss({
- 'dismissed': true
- });
- }
- appleSignIn() {
- this.signInWithApple.signin({
- requestedScopes: [
- ASAuthorizationAppleIDRequest.ASAuthorizationScopeFullName,
- ASAuthorizationAppleIDRequest.ASAuthorizationScopeEmail
- ]
- })
- .then((res: AppleSignInResponse) => {
- // https://developer.apple.com/documentation/signinwithapplerestapi/verifying_a_user
- //alert('Send token to apple for verification: ' + res.identityToken);
- console.log("send token");
- console.log(res);
- //alert(res);
- this.wp.storeFbData(res).then( data => {
- console.log(data);
- }, error => {
- console.log(error);
- } );
- this.storage.set('user', { name: res.fullName.givenName + " "+res.fullName.familyName, email: res.email });
- this.dismiss();
- })
- .catch((error: AppleSignInErrorResponse) => {
- alert(error.code + ' ' + error.localizedDescription);
- console.error(error);
- });
- }
- }
|