From 64c930bec1b013ac6e19af9ec30db9eff6110206 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 27 Feb 2018 15:08:12 +0800
Subject: [PATCH] ng-alian主题系统跳转页面 多余蒙版关闭

---
 src/app/routes/passport/login/login.component.ts |   59 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 39 insertions(+), 20 deletions(-)

diff --git a/src/app/routes/passport/login/login.component.ts b/src/app/routes/passport/login/login.component.ts
index 678152b..c18af0b 100644
--- a/src/app/routes/passport/login/login.component.ts
+++ b/src/app/routes/passport/login/login.component.ts
@@ -1,3 +1,5 @@
+import { Authorization } from '@business/entity/token';
+import { LoginService } from '@business/services/http/login.service';
 import { SettingsService } from '@delon/theme';
 import { Component, OnDestroy, Inject } from '@angular/core';
 import { Router } from '@angular/router';
@@ -5,12 +7,12 @@
 import { NzMessageService } from 'ng-zorro-antd';
 import { SocialService, SocialOpenType, ITokenService, DA_SERVICE_TOKEN } from '@delon/auth';
 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 ]
+    providers: [ SocialService,CookieService]
 })
 export class UserLoginComponent implements OnDestroy {
 
@@ -25,6 +27,7 @@
         public msg: NzMessageService,
         private settingsService: SettingsService,
         private socialService: SocialService,
+        private loginService:LoginService,
         @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {
         this.form = fb.group({
             userName: [null, [Validators.required, Validators.minLength(5)]],
@@ -33,6 +36,8 @@
             captcha: [null, [Validators.required]],
             remember: [true]
         });
+        // let nowTime = new Date();
+        // nowTime.setDate(nowTime.getDate()+1);
     }
 
     // region: fields
@@ -75,28 +80,42 @@
             this.captcha.markAsDirty();
             if (this.mobile.invalid || this.captcha.invalid) return;
         }
-        // mock http
         this.loading = true;
-        setTimeout(() => {
-            this.loading = false;
-            if (this.type === 0) {
-                if (this.userName.value !== 'admin' || this.password.value !== '123456') {
-                    this.error = `���������������������`;
-                    return;
+            this.loginService.validate(this.userName.value,this.password.value).subscribe(
+                (res:Authorization) => {
+                   if(res.token!=null){
+                       this.tokenService.set({
+                           token: res.token,
+                           name: this.userName.value,
+                           time: +new Date
+                       });
+                       this.validateError = {};
+                       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;
+                            }
+                        }
+                    }
                 }
-            }
+           );
 
-            this.tokenService.set({
-                token: '123456789',
-                name: this.userName.value,
-                email: `cipchk@qq.com`,
-                id: 10000,
-                time: +new Date
-            });
-            this.router.navigate(['/']);
-        }, 1000);
     }
-
+    public validateError:{[s:string]:boolean} = {};
     // region: social
 
     open(type: string, openType: SocialOpenType = 'href') {

--
Gitblit v1.8.0