2
皆さん、Ionic 2のログインフォームに問題があります。 私はログイントークンを保存して別のページにリダイレクトしますが、ユーザーのデータはAndroidやIOSはトークンが利用できないためです。私はページをリロードする必要があることを発見しました。ローカル環境では、 'location.reload()'は完璧に動作し、ユーザーのデータは利用できますが、Google PlayとApp Storeでpusblishしても機能しません。Ionic 2を使用してページをリロードするには
私はいくつかの方法で再読み込みを試みましたが、AndroidとIOSでは動作しません。私に何ができる?イオンストレージの場合
ログイン機能
loginForm(){
const data = {
"username" : this.login.value.username,
"email" : this.login.value.username,
"password" : this.login.value.password,
}
this.dataService.loginUser(data).subscribe(
(data) => {
let token = data.key;
this.dataService.checkAccessUserGroup(token).subscribe(
(data) => {
if(data[0] == 200){
this.storage.set('access_token', token);
//this.appCtrl.getRootNav().setRoot(HomePage);
//this.navCtrl.setRoot(HomePage);
//this.appCtrl.getRootNav().setRoot(this.navCtrl.getActive().component);
//this.navCtrl.push(HomePage);
//this.appCtrl.getRootNav().push(IndexPage);
//location.reload()
this.navCtrl.setRoot(HomePage).then(() =>{
this.navCtrl.popToRoot();
});
}
if(data[0] == 500){
this.generateAlert("Error",'No tienes permisos adecuados para acceder. Ponte en contacto con el administrador de tu Deck.');
}
},
(err) => {
if(err.status == 400){
this.generateAlert("Error",'No hemos podido verificar tus datos. Intentalo de nuevo');
}
}
);
},
(err) => {
if(err.status == 400){
this.generateAlert("Error",'Usuario o constraseña no válido. Intentalo de nuevo');
}
}
);
}
ログインHTML
<ion-content padding id="container-home" style="background-image:url('assets/img/bg-login.png')">
<ion-row>
<ion-img class="logo-md" width="120" height="120" src="assets/img/mydecklogocolor.png"></ion-img>
</ion-row>
<ion-row id="auth-login">
<ion-col col-12 no-padding>
<ion-row class="header">
<h3>Ingresa</h3>
</ion-row>
<form id="login-container" [formGroup]="login" (ngSubmit)="loginForm()">
<ion-row>
<ion-item>
<ion-input type="text" formControlName="username"
class="input-md"placeholder="Correo electrónico/usuario"></ion-input>
</ion-item>
<ion-item>
<ion-input type="password" formControlName="password"
class="input-md" placeholder="Contraseña"></ion-input>
</ion-item>
</ion-row>
<ion-row>
<button ion-button class="auth-btn" type="submit" [disabled]="!login.valid">Ingresar</button>
</ion-row>
</form>
<ion-row>
<a href="">¿Olvidaste tu contraseña?</a>
</ion-row>
</ion-col>
</ion-row>
</ion-content>
あなたは 'this.storage.set( 'access_token'、token)を意味します;' doesnt set in time?どのストレージがこれですか? –
これはイオンストレージです。https://ionicframework.com/docs/storage/ – nailujpeloz