В моем app.component.ts я добавил боковое меню, где оно содержит все страницы. Для страницы входа / регистрации я добавил следующий скрипт:
<button menuClose ion-item (click)="authenticate()" *ngIf="!isLoggedIn">
<ion-icon name="log-in"></ion-icon> Login/Register
</button>
<button menuClose ion-item (click)="logout()" *ngIf="isLoggedIn">
<ion-icon name="log-out"></ion-icon> Logout
</button>
Как видите, если переменная isLoggedIn
равна false, должна появиться login
, в противном случае отображается кнопка выхода из системы.
Когда пользователь вошел в систему и в хранилище установлено значение user_id
, а для isLoggedIn установлено значение true, кнопка выхода из системы не появляется.
Вот скрипт входа в систему:
if (response && response.status === 'success') {
console.log(response.response.user_id);
this.globalVar.loggedIn=true;
// localStorage.setItem('user_id', response.data.user_id)
this.storage.set('user_id', response.response.user_id);
this.storage.set('fname', response.response.fname);
this.storage.set('lname', response.response.lname);
this.storage.set('email', response.response.email);
loading.dismiss();
this.storage.get('user_id').then((data)=>{
this.globalVar.user_id=data
});
this.storage.get('fname').then((data)=>{
this.globalVar.fname=data
});
this.storage.get('lname').then((data)=>{
this.globalVar.lname=data
});
this.storage.get('email').then((data)=>{
this.globalVar.email=data
});
this.viewCtrl.dismiss();
let dataToSend={
'offer_id': this.offer_id,
'offerSelected': this.offerSelected,
'user_id': this.globalVar.user_id
};
if(this.offerSelected && this.offer_id!='')
{
this.navCtrl.push(OfferDetailsPage, {
data: dataToSend
})
}
}
else if (response && response.status == 'failed') {
this.message = response.message;
loading.dismiss();
}
else
{
this.message = 'Server is currently unavailable'
loading.dismiss();
}
}, (error) => {
loading.dismiss();
this.showAlert(error.message);
console.log(error)
})
}
Я утешил isLoggedIn, и это правда.