瀏覽代碼

User service + get user profile integration

master
kj1352 4 年之前
父節點
當前提交
daea7e4d9c
共有 6 個檔案被更改,包括 71 行新增2 行删除
  1. +2
    -0
      src/app/app.module.ts
  2. +2
    -0
      src/app/components/facebook-login/facebook-login.component.html
  3. +8
    -2
      src/app/components/facebook-login/facebook-login.component.ts
  4. +2
    -0
      src/app/home/home.page.ts
  5. +16
    -0
      src/app/services/user.service.spec.ts
  6. +41
    -0
      src/app/services/user.service.ts

+ 2
- 0
src/app/app.module.ts 查看文件

@@ -20,6 +20,7 @@ import { HttpClientModule } from '@angular/common/http';
import { NewsService } from './services/news.service';
import { MatchService } from './services/match.service';
import { ToastService } from './services/toast.service';
import { UserService } from './services/user.service';

@NgModule({
declarations: [AppComponent],
@@ -37,6 +38,7 @@ import { ToastService } from './services/toast.service';
AppVersion,
NewsService,
MatchService,
UserService,
ToastService,
HTTP,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },


+ 2
- 0
src/app/components/facebook-login/facebook-login.component.html 查看文件

@@ -4,6 +4,8 @@
<button (click)="login()"> Login with <ion-icon name="logo-facebook"></ion-icon> </button>
</section>
</section>

<input type="text" *ngIf="token" [(ngModel)]="token.token">
<section class="social-login" [ngClass]="{'active' : showLogout && user }">


+ 8
- 2
src/app/components/facebook-login/facebook-login.component.ts 查看文件

@@ -1,4 +1,5 @@
import { Component, OnInit } from '@angular/core';
import { UserService } from '../../services/user.service';

// For capacitor Facebook
import { Platform } from '@ionic/angular';
@@ -26,7 +27,8 @@ export class FacebookLoginComponent implements OnInit {

constructor(
private platform: Platform,
private http: HttpClient
private http: HttpClient,
private userService: UserService
) {
}

@@ -81,7 +83,11 @@ export class FacebookLoginComponent implements OnInit {
this.token = result.accessToken;
this.loadUserData();

localStorage.setItem('FBToken', this.token);
localStorage.setItem('FBToken', JSON.stringify(this.token));


this.userService.getUserProfile().then((data) => alert(JSON.stringify(data)), err => alert(JSON.stringify(err)));

} else {
// Not logged in.
}


+ 2
- 0
src/app/home/home.page.ts 查看文件

@@ -6,6 +6,7 @@ import { ToastService } from '../services/toast.service';
import { DomSanitizer } from '@angular/platform-browser';
import { SocialSharing } from '@ionic-native/social-sharing/ngx';
import { Platform } from '@ionic/angular';
import { UserService } from '../services/user.service';

@Component({
selector: 'app-home',
@@ -43,6 +44,7 @@ export class HomePage implements OnInit {
private dom: DomSanitizer,
private socialSharing: SocialSharing,
private platform: Platform,
private userService: UserService
) { }

transformYourHtml(htmlTextWithStyle) {


+ 16
- 0
src/app/services/user.service.spec.ts 查看文件

@@ -0,0 +1,16 @@
import { TestBed } from '@angular/core/testing';

import { UserService } from './user.service';

describe('UserService', () => {
let service: UserService;

beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(UserService);
});

it('should be created', () => {
expect(service).toBeTruthy();
});
});

+ 41
- 0
src/app/services/user.service.ts 查看文件

@@ -0,0 +1,41 @@
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';

@Injectable({
providedIn: 'root'
})
export class UserService {
BASE_URL: string = 'https://fan-engagement.techmahindra.com';

// /like-article/:id
// /bookmark-article/:id

constructor(
private http: HttpClient
) { }

likePost(postId: string) {
const httpOptions = {
headers: new HttpHeaders({
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + JSON.parse(localStorage.getItem('FBToken')).token
})
};

return this.http.get(this.BASE_URL + '/like-article/' + postId, httpOptions).toPromise();
}

getUserProfile() {
const httpOptions = {
headers: new HttpHeaders({
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + JSON.parse(localStorage.getItem('FBToken')).token
})
};
return this.http.get(this.BASE_URL + '/user-details/', httpOptions).toPromise();
}
}

Loading…
取消
儲存