Как получить данные подключенного пользователя в ионном режиме с вызовом отдыхающих API? - PullRequest
0 голосов
/ 05 ноября 2019

Здесь я разработал свой api rest в symfony, теперь я разрабатываю мобильное приложение с ionic, и я закончил с фазой входа и регистрации. Теперь я ищу способ доступа к данным подключенного пользователя, чтобы бытьвозможность отображать его данные на моей html-странице, зная, что я использую URL моего API-интерфейса и работаю в localhost. Я создал службу аутентификации и свою страницу, на которую пользователь будет перенаправлен в соответствии с типом пользователя.

В моем случае я хотел бы получить данные о пациенте, который только что вошел в систему, и я хотел быразместить свою информацию на своей html-странице.

Служба аутентификации

export class AuthenticationService {

constructor(private httpService: HttpService,
private router: Router, ) {
login(postData: any): Observable<any> {
return this.httpService.post('login', postData);
            }

signup(postData: any): Observable<any> {
return this.httpService.post('signup', postData);
}
logout() {
localStorage.removeItem('id_token');
this.router.navigate(['/home']);
}
}

Служба Http

export class HttpService {

private  API_URL = 'http://127.0.0.1:8000/';

constructor(private http: HttpClient) { }
apiBase = this.API_URL + 'api/login';

post( serviceName: any, data: any) {
const headers = new HttpHeaders({ 'Content-Type': 'application/json' });

const options = { headers, withCredintials: false };

return this.http.post(this.apiBase, JSON.stringify(data), options);
} }

Панель инструментов пациента ts

export class PatientDashboardPage implements OnInit {
data: any;
bords: any;
public authUser: any;
constructor(private menu: MenuController, private router: Router, private auth: 
AuthenticationService) {
this.bords = [
{
title: 'Tableau de bord',
icon: 'desktop',
path: '/patient-dashboard/bord',
},
{
title: 'Mes rendez-vous',
icon: 'calendar',
path: '/booking',
},
{
title: 'Mon Profil',
icon: 'clipboard',
path: '/profil',
},
{
title: 'Feedback',
icon: 'chatboxes',
path: '/feedback',
}
];
}

ngOnInit() {
}
showDetail(arg: any) {
this.router.navigateByUrl(arg);
}

}

Панель инструментов пациента html

<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-menu-button></ion-menu-button>
</ion-buttons>
<ion-title style="color: darkgreen">Welcome to Doctix </ion-title>
</ion-toolbar>
</ion-header>

<ion-content fullscreen >
<ion-list style="padding-top: 0.5em">
<ion-item button *ngFor="let bord of bords" 
(click)="showDetail(bord.path)"style="padding-top: 4em">
<ion-icon style="color: darkgreen" slot="start" name="{{bord.icon}}" ></ion-icon>
<ion-label>
<h3>{{bord.title}}</h3>
</ion-label>
</ion-item>
</ion-list>
</ion-content>

Спасибо

...