13 changed files with 20695 additions and 1405 deletions
@ -1,188 +1,204 @@
|
||||
import { ApplicationRef, Component, ComponentFactoryResolver, Injector, OnInit } from '@angular/core'; |
||||
import { HttpClient } from '@angular/common/http' |
||||
import { Data } from '../../interface' |
||||
import { Router, ActivatedRoute } from '@angular/router' |
||||
import { CacheTokenService } from '../../http-interceptors/cache-token.service'//引入服务
|
||||
import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; |
||||
import { MatDialog, MatDialogRef } from '@angular/material/dialog'; |
||||
import { |
||||
ApplicationRef, |
||||
Component, |
||||
ComponentFactoryResolver, |
||||
Injector, |
||||
OnInit, |
||||
} from "@angular/core"; |
||||
import { HttpClient } from "@angular/common/http"; |
||||
import { Data } from "../../interface"; |
||||
import { Router, ActivatedRoute } from "@angular/router"; |
||||
import { CacheTokenService } from "../../http-interceptors/cache-token.service"; //引入服务
|
||||
import { MatSnackBar, MatSnackBarConfig } from "@angular/material/snack-bar"; |
||||
import { MatDialog, MatDialogRef } from "@angular/material/dialog"; |
||||
|
||||
@Component({ |
||||
selector: 'app-login', |
||||
templateUrl: './login.component.html', |
||||
styleUrls: ['./login.component.scss'], |
||||
selector: "app-login", |
||||
templateUrl: "./login.component.html", |
||||
styleUrls: ["./login.component.scss"], |
||||
}) |
||||
export class LoginComponent implements OnInit { |
||||
constructor( |
||||
private http: HttpClient, |
||||
private router: Router, |
||||
private route: ActivatedRoute, |
||||
public token: CacheTokenService, |
||||
public snackBar: MatSnackBar, |
||||
public dialog: MatDialog |
||||
) {} |
||||
|
||||
ngOnInit() { |
||||
this.automaticLogin(); |
||||
} |
||||
|
||||
errmsg: string = ""; |
||||
|
||||
onSubmit(e) { |
||||
this.http |
||||
.post("/api/Account/SignIn", { |
||||
name: e.name, |
||||
password: e.password, |
||||
}) |
||||
.subscribe( |
||||
(data: Data) => { |
||||
sessionStorage.setItem("level", data.level); |
||||
sessionStorage.setItem("token", data.token); |
||||
sessionStorage.setItem("refreshToken", data.refreshToken); |
||||
sessionStorage.setItem("isDefaultPassword", data.isDefaultPassword); //是否需要修改默认密码
|
||||
this.http.get("/api/Account/NavMenus").subscribe((data: any) => { |
||||
console.log("菜单数据", data); |
||||
|
||||
let isHave = data.find((item) => { |
||||
return item.url == "/statisticanalysis/home"; |
||||
}); |
||||
let isHaveGis = data.find((item) => { |
||||
return item.url == "/gis"; |
||||
}); |
||||
let isKeyUnit = data.find((item) => { |
||||
return item.url == "/keyUnit"; |
||||
}); |
||||
|
||||
constructor(private http: HttpClient, private router: Router, private route: ActivatedRoute, public token: CacheTokenService, public snackBar: MatSnackBar, public dialog: MatDialog) { |
||||
|
||||
} |
||||
|
||||
ngOnInit() { |
||||
this.automaticLogin() |
||||
} |
||||
|
||||
errmsg: string = '' |
||||
|
||||
onSubmit(e) { |
||||
this.http.post('/api/Account/SignIn', { |
||||
name: e.name, |
||||
password: e.password |
||||
}).subscribe((data: Data) => { |
||||
sessionStorage.setItem("level", data.level); |
||||
sessionStorage.setItem("token", data.token); |
||||
sessionStorage.setItem("refreshToken", data.refreshToken); |
||||
sessionStorage.setItem("isDefaultPassword", data.isDefaultPassword);//是否需要修改默认密码
|
||||
this.http.get('/api/Account/NavMenus').subscribe((data: any) => { |
||||
let isHave = data.find(item => { return item.url == "/statisticanalysis/home" }) |
||||
let isHaveGis = data.find(item => { return item.url == "/gis" }) |
||||
if (isHave) { |
||||
this.router.navigate([`/statisticanalysis/home`]) |
||||
this.dialogChangePassword() |
||||
return |
||||
} else if (isHaveGis) { |
||||
this.router.navigate([`/gis`]) |
||||
this.dialogChangePassword() |
||||
return |
||||
} else if (data.length != 0) { |
||||
this.router.navigate([`/keyUnit`]) |
||||
this.dialogChangePassword() |
||||
return |
||||
} else { |
||||
this.snackBar.open('该用户角色未分配任何菜单', '确定', { |
||||
duration: 3000 |
||||
}); |
||||
} |
||||
|
||||
}) |
||||
if (e.notlogin) { //7天免登录时
|
||||
localStorage.setItem("isnologin", "true") |
||||
localStorage.setItem("token", data.token) |
||||
localStorage.setItem("refreshToken", data.refreshToken) |
||||
let URL = data.find((item) => { |
||||
return item.url; |
||||
}); |
||||
console.log(URL); |
||||
if (isHave) { |
||||
this.router.navigate([`/statisticanalysis/home`]); |
||||
this.dialogChangePassword(); |
||||
return; |
||||
} else if (isHaveGis) { |
||||
this.router.navigate([`/gis`]); |
||||
this.dialogChangePassword(); |
||||
return; |
||||
} else if (isKeyUnit) { |
||||
this.router.navigate([`/keyUnit`]); |
||||
this.dialogChangePassword(); |
||||
return; |
||||
} else if (data.length != 0) { |
||||
this.router.navigate([URL.url]); |
||||
this.dialogChangePassword(); |
||||
return; |
||||
} else { |
||||
this.snackBar.open("该用户角色未分配任何菜单", "确定", { |
||||
duration: 3000, |
||||
}); |
||||
} |
||||
//调用服务中的function刷新token
|
||||
this.token.startUp() |
||||
}); |
||||
if (e.notlogin) { |
||||
//7天免登录时
|
||||
localStorage.setItem("isnologin", "true"); |
||||
localStorage.setItem("token", data.token); |
||||
localStorage.setItem("refreshToken", data.refreshToken); |
||||
} |
||||
//调用服务中的function刷新token
|
||||
this.token.startUp(); |
||||
}, |
||||
(err) => { this.errmsg = err } |
||||
) |
||||
} |
||||
|
||||
|
||||
dialogChangePassword() { |
||||
if (sessionStorage.getItem('isDefaultPassword') == 'true') { |
||||
let dialogRef = this.dialog.open(ChangepasswordComponent2, |
||||
{ width: '348px' }); |
||||
|
||||
dialogRef.afterClosed().subscribe((data) => { |
||||
sessionStorage.setItem('isDefaultPassword', 'false') |
||||
// this.lookUpdateData()
|
||||
}); |
||||
} else { |
||||
// this.lookUpdateData()
|
||||
(err) => { |
||||
this.errmsg = err; |
||||
} |
||||
); |
||||
} |
||||
|
||||
dialogChangePassword() { |
||||
if (sessionStorage.getItem("isDefaultPassword") == "true") { |
||||
let dialogRef = this.dialog.open(ChangepasswordComponent2, { |
||||
width: "348px", |
||||
}); |
||||
|
||||
dialogRef.afterClosed().subscribe((data) => { |
||||
sessionStorage.setItem("isDefaultPassword", "false"); |
||||
}); |
||||
} |
||||
|
||||
//查看更新内容
|
||||
lookUpdateData() { |
||||
|
||||
|
||||
|
||||
let dialogRef = this.dialog.open(lookUpdateDataComponent, |
||||
{ width: '668px' }); |
||||
|
||||
dialogRef.afterClosed().subscribe((data) => { |
||||
|
||||
}); |
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
//7天免登录自动登录
|
||||
automaticLogin() { |
||||
let isNoLogin = localStorage.getItem("isnologin") |
||||
if (isNoLogin) { //7天免登录时
|
||||
let token = localStorage.getItem("token"); |
||||
let refreshToken = localStorage.getItem("refreshToken"); |
||||
this.http.post('/api/Account/RefreshToken', { |
||||
token: token, |
||||
refreshToken: refreshToken |
||||
}).subscribe((data: any) => { |
||||
sessionStorage.setItem("level", data.level); |
||||
sessionStorage.setItem("token", data.token); |
||||
sessionStorage.setItem("refreshToken", data.refreshToken); |
||||
this.token.startUp() |
||||
this.router.navigate(['/keyUnit']) |
||||
this.snackBar.open('已自动登录', '确定', { duration: 3000 }); |
||||
}) |
||||
} //if
|
||||
|
||||
} |
||||
|
||||
//打开弹窗
|
||||
open() { |
||||
this.snackBar.open('请联系管理员', '确定', { |
||||
duration: 3000 |
||||
} |
||||
|
||||
//查看更新内容
|
||||
lookUpdateData() { |
||||
let dialogRef = this.dialog.open(lookUpdateDataComponent, { |
||||
width: "668px", |
||||
}); |
||||
|
||||
dialogRef.afterClosed().subscribe((data) => {}); |
||||
} |
||||
|
||||
//7天免登录自动登录
|
||||
automaticLogin() { |
||||
let isNoLogin = localStorage.getItem("isnologin"); |
||||
if (isNoLogin) { |
||||
//7天免登录时
|
||||
let token = localStorage.getItem("token"); |
||||
let refreshToken = localStorage.getItem("refreshToken"); |
||||
this.http |
||||
.post("/api/Account/RefreshToken", { |
||||
token: token, |
||||
refreshToken: refreshToken, |
||||
}) |
||||
.subscribe((data: any) => { |
||||
sessionStorage.setItem("level", data.level); |
||||
sessionStorage.setItem("token", data.token); |
||||
sessionStorage.setItem("refreshToken", data.refreshToken); |
||||
this.token.startUp(); |
||||
this.router.navigate(["/keyUnit"]); |
||||
this.snackBar.open("已自动登录", "确定", { duration: 3000 }); |
||||
}); |
||||
} |
||||
|
||||
|
||||
|
||||
} //if
|
||||
} |
||||
|
||||
//打开弹窗
|
||||
open() { |
||||
this.snackBar.open("请联系管理员", "确定", { |
||||
duration: 3000, |
||||
}); |
||||
} |
||||
} |
||||
|
||||
@Component({ |
||||
selector: 'app-changepassword', |
||||
templateUrl: './changePassword.html', |
||||
styleUrls: ['./changepassword.scss'] |
||||
selector: "app-changepassword", |
||||
templateUrl: "./changePassword.html", |
||||
styleUrls: ["./changepassword.scss"], |
||||
}) |
||||
|
||||
export class ChangepasswordComponent2 implements OnInit { |
||||
|
||||
constructor(private http: HttpClient, public snackBar: MatSnackBar, |
||||
public dialogRef: MatDialogRef<ChangepasswordComponent2>) { } |
||||
|
||||
ngOnInit() { |
||||
} |
||||
errmsg: string = '' |
||||
|
||||
onSubmit(e) { |
||||
this.http.put( |
||||
'/api/Account/Password', |
||||
{ |
||||
newPassword: e.newPassword, |
||||
password: 'SHya119!@' |
||||
} |
||||
).subscribe(data => { |
||||
this.dialogRef.close(data); |
||||
const config = new MatSnackBarConfig(); |
||||
config.verticalPosition = 'top'; |
||||
config.duration = 3000 |
||||
this.snackBar.open('密码修改成功', '确定', config); |
||||
}, (err) => { this.errmsg = err } |
||||
) |
||||
} |
||||
|
||||
|
||||
|
||||
constructor( |
||||
private http: HttpClient, |
||||
public snackBar: MatSnackBar, |
||||
public dialogRef: MatDialogRef<ChangepasswordComponent2> |
||||
) {} |
||||
|
||||
ngOnInit() {} |
||||
errmsg: string = ""; |
||||
|
||||
onSubmit(e) { |
||||
this.http |
||||
.put("/api/Account/Password", { |
||||
newPassword: e.newPassword, |
||||
password: "SHya119!@", |
||||
}) |
||||
.subscribe( |
||||
(data) => { |
||||
this.dialogRef.close(data); |
||||
const config = new MatSnackBarConfig(); |
||||
config.verticalPosition = "top"; |
||||
config.duration = 3000; |
||||
this.snackBar.open("密码修改成功", "确定", config); |
||||
}, |
||||
(err) => { |
||||
this.errmsg = err; |
||||
} |
||||
); |
||||
} |
||||
} |
||||
|
||||
|
||||
@Component({ |
||||
selector: 'app-lookUpdateData', |
||||
templateUrl: './lookUpdateData.html', |
||||
styleUrls: ['./lookUpdateData.scss'] |
||||
selector: "app-lookUpdateData", |
||||
templateUrl: "./lookUpdateData.html", |
||||
styleUrls: ["./lookUpdateData.scss"], |
||||
}) |
||||
|
||||
export class lookUpdateDataComponent implements OnInit { |
||||
|
||||
constructor(private http: HttpClient, public snackBar: MatSnackBar, |
||||
public dialogRef: MatDialogRef<lookUpdateDataComponent>) { } |
||||
|
||||
ngOnInit() { |
||||
} |
||||
onSubmit(e) { |
||||
|
||||
} |
||||
|
||||
|
||||
|
||||
} |
||||
constructor( |
||||
private http: HttpClient, |
||||
public snackBar: MatSnackBar, |
||||
public dialogRef: MatDialogRef<lookUpdateDataComponent> |
||||
) {} |
||||
|
||||
ngOnInit() {} |
||||
onSubmit(e) {} |
||||
} |
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue