From a1c7c8f01bc80853b0b591bbb1742e7be9c72f5c Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 20 Mar 2018 17:06:35 +0800
Subject: [PATCH] Merge branch 'develop' of http://blit.7drlb.com:8888/r/screen-frontend into develop

---
 src/app/routes/passport/login/login.component.ts |   58 ++++++++++++++++++++++++++++------------------------------
 1 files changed, 28 insertions(+), 30 deletions(-)

diff --git a/src/app/routes/passport/login/login.component.ts b/src/app/routes/passport/login/login.component.ts
index b4739c1..70a508e 100644
--- a/src/app/routes/passport/login/login.component.ts
+++ b/src/app/routes/passport/login/login.component.ts
@@ -1,18 +1,21 @@
+import { error } from 'selenium-webdriver';
+import { HttpErrorResponse } from '@angular/common/http';
 import { Authorization } from '@business/entity/token';
-import { LoginService } from './../../../business/services/http/login.service';
+import { LoginService } from '@business/services/http/login.service';
 import { SettingsService } from '@delon/theme';
-import { Component, OnDestroy, Inject } from '@angular/core';
+import { Component, OnDestroy, Inject, Optional } from '@angular/core';
 import { Router } from '@angular/router';
 import { FormGroup, FormBuilder, Validators } from '@angular/forms';
 import { NzMessageService } from 'ng-zorro-antd';
 import { SocialService, SocialOpenType, ITokenService, DA_SERVICE_TOKEN } from '@delon/auth';
+import { ReuseTabService } from '@delon/abc';
 import { environment } from '@env/environment';
 import { CookieService } from 'angular2-cookie/services/cookies.service';
 @Component({
     selector: 'passport-login',
     templateUrl: './login.component.html',
     styleUrls: [ './login.component.less' ],
-    providers: [ SocialService,CookieService]
+    providers: [ SocialService, CookieService]
 })
 export class UserLoginComponent implements OnDestroy {
 
@@ -27,8 +30,8 @@
         public msg: NzMessageService,
         private settingsService: SettingsService,
         private socialService: SocialService,
-        private loginService:LoginService,
-        private _cookieService:CookieService,
+        @Optional() @Inject(ReuseTabService) private reuseTabService: ReuseTabService,
+        private loginService: LoginService,
         @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {
         this.form = fb.group({
             userName: [null, [Validators.required, Validators.minLength(5)]],
@@ -37,9 +40,8 @@
             captcha: [null, [Validators.required]],
             remember: [true]
         });
-        let nowTime = new Date();
-        nowTime.setDate(nowTime.getDate()+1);
-        this._cookieService.put('test','test',{expires:nowTime});
+        // let nowTime = new Date();
+        // nowTime.setDate(nowTime.getDate()+1);
     }
 
     // region: fields
@@ -83,9 +85,11 @@
             if (this.mobile.invalid || this.captcha.invalid) return;
         }
         this.loading = true;
-            this.loginService.validate(this.userName.value,this.password.value).subscribe(
-                (res:Authorization) => {
-                   if(res.token!=null){
+            this.loginService.validate(this.userName.value, this.password.value).subscribe(
+                (res: Authorization) => {
+                   if (res.token != null) {
+                        // ������������������������
+                       this.reuseTabService.clear();
                        this.tokenService.set({
                            token: res.token,
                            name: this.userName.value,
@@ -95,29 +99,23 @@
                        this.router.navigate(['/']);
                    }
                 },
-                (err) => {
-                    // console.log(err);
-                    if(err instanceof ProgressEvent){
-                        const error = <ProgressEvent>err;
-                        let xmlHttp = error.target;
-                        if(xmlHttp instanceof XMLHttpRequest){
-                            const xmlHttpRequest = <XMLHttpRequest> xmlHttp;      
-                            console.log(xmlHttpRequest.response);                           
-                            const response = JSON.parse(xmlHttpRequest.response);                                                  
-                            if(response.status == 401&&response.errorCode==10){                                
-                                 this.validateError["password_incorrect"]=true;
-                                 this.loading = false;
-                            } else if(response.status == 401&&response.errorCode==12) {
-                                this.validateError["account_expired"]=true;
-                                this.loading = false;
-                            }
-                        }
-                    }
+                (err: HttpErrorResponse) => {  
+                    if (!!err) {
+                        const errMsg = err.error;
+                        console.log(errMsg);
+                        if (errMsg.status === 401 && errMsg.errorCode === 10) {                                
+                            this.validateError['password_incorrect'] = true;
+                            this.loading = false;
+                       } else if (errMsg.status === 401 && errMsg.errorCode === 12) {
+                           this.validateError['account_expired'] = true;
+                           this.loading = false;
+                       }
+                    }                  
                 }
            );
 
     }
-    public validateError:{[s:string]:boolean} = {};
+    public validateError: {[s: string]: boolean} = {};
     // region: social
 
     open(type: string, openType: SocialOpenType = 'href') {

--
Gitblit v1.8.0