ОШИБКА TypeError: Невозможно прочитать свойство 'verifyPhoneNumber' из неопределенного в Ioni c 4 - PullRequest
0 голосов
/ 15 января 2020

Я посмотрел на эту проблему и был упомянут https://github.com/jestcastro/cordova-plugin-firebase. Я пытался установить плагины, но все равно это не сработало.

Я установил firebase и добавил конфигурацию в app.component.ts:

import * as firebase from 'firebase';


const config = {


apiKey:"" ,
  authDomain: "",
  databaseURL: "",
  projectId: "",
  storageBucket: "",
  messagingSenderId: "",
  appId: "",
  measurementId: ""
};
@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.scss']
})
export class AppComponent {
  constructor(
    private platform: Platform,
    private splashScreen: SplashScreen,
    private statusBar: StatusBar
  ) {
    this.initializeApp();
  }

  initializeApp() {
    this.platform.ready().then(() => {
      this.statusBar.styleDefault();
      this.splashScreen.hide();
    });
    firebase.initializeApp(config);
  }
}

В моей pageone.ts я отправка данных для проверки с помощью кнопки, используя ion select для «кода страны» в качестве «this.selectedcode» и «ion-input для остальной части« номера телефона ». затем я направляю на вторую страницу

send(){
const tell = this.numpad + this.selectedCode;
(<any> window).FirebasePlugin.verifyPhoneNumber(tell, 60, (credential) => {
  console.log(credential);
  this.verificationId = credential;
}, (error) => {
  console.error(error);
  alert(error);
 });
this.router.navigateByUrl('/pagetwo/' + this.selectedCode + '/' + this.numpad);

}

В моем pagetwo.ts я добавляю капчу, а затем снова использую функцию отправки для другой кнопки, а затем проверяю, какая следует прочитать код подтверждения, а затем перенаправить на третью страницу, если он правильный

 import * as firebase from 'firebase';

  export class pagetwo {


  code = '';
  sub: any;
  verificationId: any;

  numpad: any;
  selectedCode: any;

constructor(private activatedRoute: ActivatedRoute, private router: Router) {}
send(){
  const tell = this.numpad + this.selectedCode;
  (<any> window).FirebasePlugin.verifyPhoneNumber(tell, 60, (credential) => {
    console.log(credential);
    this.verificationId = credential.verificationId;
  }, (error) => {
    console.error(error);
    alert(error);
   });
}

ionViewDidLoad() {
  this.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
}
verify() {
  const signInCredential = firebase.auth.PhoneAuthProvider.credential(this.verificationId, this.code);
  firebase.auth().signInWithCredential(signInCredential).then((info) => {
    console.log(info);
    this.router.navigateByUrl('/pagethree'); 
  }, (error) => {
    console.log(error);
  });
  }
...