From 79851e40e4da7fdbb14d0b729d01f710cf6d7fb0 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Wed, 07 Mar 2018 08:51:49 +0800
Subject: [PATCH] 报表 优化
---
src/app/routes/passport/login/login.component.ts | 30 +++++++++++++++++++++---------
1 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/src/app/routes/passport/login/login.component.ts b/src/app/routes/passport/login/login.component.ts
index 41331e2..c84c2a5 100644
--- a/src/app/routes/passport/login/login.component.ts
+++ b/src/app/routes/passport/login/login.component.ts
@@ -1,17 +1,19 @@
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]
+ providers: [ SocialService,CookieService]
})
export class UserLoginComponent implements OnDestroy {
@@ -26,6 +28,7 @@
public msg: NzMessageService,
private settingsService: SettingsService,
private socialService: SocialService,
+ @Optional() @Inject(ReuseTabService) private reuseTabService: ReuseTabService,
private loginService:LoginService,
@Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {
this.form = fb.group({
@@ -35,6 +38,8 @@
captcha: [null, [Validators.required]],
remember: [true]
});
+ // let nowTime = new Date();
+ // nowTime.setDate(nowTime.getDate()+1);
}
// region: fields
@@ -81,25 +86,32 @@
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,
time: +new Date
});
- this.validateError = true;
+ this.validateError = {};
this.router.navigate(['/']);
}
},
(err) => {
- console.log(err);
+ // console.log(err);
if(err instanceof ProgressEvent){
const error = <ProgressEvent>err;
let xmlHttp = error.target;
if(xmlHttp instanceof XMLHttpRequest){
- const xmlHttpRequest = <XMLHttpRequest> xmlHttp;
- if(xmlHttpRequest.status == 401){
- this.validateError = true;
+ 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;
}
}
}
@@ -107,7 +119,7 @@
);
}
- public validateError:boolean;
+ public validateError:{[s:string]:boolean} = {};
// region: social
open(type: string, openType: SocialOpenType = 'href') {
--
Gitblit v1.8.0