Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chgc/e39d163c02617691af3f990d072e8ae9 to your computer and use it in GitHub Desktop.
Save chgc/e39d163c02617691af3f990d072e8ae9 to your computer and use it in GitHub Desktop.
import { Subject } from 'rxjs/Subject';
import { TokenInfo } from './tokeninfo';
//import { Token } from './checktoken';
//import { Applist } from './applist';
//import { ApplistWithVersion } from './applistwithversion';
import { Injectable, Input } from '@angular/core';
import { Http } from '@angular/http';
import { ActivatedRoute } from '@angular/router';
import {Observable} from 'rxjs/Observable';
import { Router } from '@angular/router';
import { Headers, RequestOptions } from '@angular/http';
import 'rxjs/add/operator/toPromise';
import 'rxjs/add/operator/catch';
@Injectable()
export class LoginService {
public tokeninfo: TokenInfo;
public tokeninfo3: TokenInfo;
private tokeninfo2 = new BehaviorSubject({});
tokenObservable =this.tokeninfo2.asObservable();
//router: Router;
constructor(private http: Http,
private route: ActivatedRoute,
private router: Router,
) {}
/****** for docker with certificate (現場) ******/
apiurl : string = 'http://localhost:8080/myapii/catalogg?token=xxx&os=ggg'
tokenurl: string = 'http://localhost:8080/myapii/login'
getimageurl : string = 'https://emss.b2e.cht.com.tw:7702/myapii/image?imageUrl='
applisturlForOne : string = 'http://localhost:8080/myapii/getappinfo?token=xxx'
getToken(name:string, password:string) : Promise<TokenInfo>{
let headers = new Headers({ 'username': name });
headers.append('password', password);
let options = new RequestOptions({ headers: headers, method: "get" });
console.log("getToken")
return this.http
            .get(this.tokenurl, options)
            .toPromise()
            .then(value => {
                this.tokeninfo = value.json();
this.tokeninfo2.next(this.tokeninfo);
console.log("tokeninfo="+this.tokeninfo);
                //console.log(this.tokeninfo.access_token);
//console.log(this.apiurl + 'token=' + token +'&'+ 'os=' + platform);
//console.log("c");
                return this.tokeninfo;
            })
.catch(error => {
if (error.status === 401) {
console.log("ssdssss")
this.router.navigate(['error']);
console.log("sds")
return Observable.throw(error);
}
// do any other checking for statuses here
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment