You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.1 KiB
63 lines
2.1 KiB
import { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core'; |
|
import { HttpClient } from '@angular/common/http' |
|
import { Data } from '../../interface' |
|
import { Router, ActivatedRoute } from '@angular/router' |
|
import { CacheTokenService } from '../../service/cache-token.service'//引入服务 |
|
import { CookieService } from 'ngx-cookie-service';//cookie插件 |
|
import { MatSnackBar } from '@angular/material/snack-bar'; |
|
|
|
import { FormBuilder, FormGroup, Validators } from '@angular/forms'; |
|
@Component({ |
|
selector: 'app-login', |
|
templateUrl: './login.component.html', |
|
styleUrls: ['./login.component.scss'], |
|
|
|
}) |
|
export class LoginComponent implements OnInit { |
|
|
|
validateForm!: FormGroup; |
|
|
|
constructor(private http: HttpClient, private router: Router, private route: ActivatedRoute, public token: CacheTokenService, |
|
public snackBar: MatSnackBar, private cookieService: CookieService,private fb: FormBuilder) { } |
|
|
|
ngOnInit() { |
|
this.validateForm = this.fb.group({ |
|
userName: [null, [Validators.required]], |
|
password: [null, [Validators.required]], |
|
remember: [true] |
|
}); |
|
} |
|
|
|
errmsg: string = ''; //错误信息 |
|
|
|
|
|
//跳转注册页面 |
|
toRegister() { |
|
this.router.navigate(['/register']) |
|
} |
|
|
|
|
|
submitForm(): void { |
|
for (const i in this.validateForm.controls) { |
|
this.validateForm.controls[i].markAsDirty(); |
|
this.validateForm.controls[i].updateValueAndValidity(); |
|
} |
|
// console.log(this.validateForm) |
|
this.http.post('/api/CompanyAccount/SignIn', { |
|
name: this.validateForm.value.userName, |
|
password: this.validateForm.value.password |
|
}).subscribe( |
|
(data: Data) => { |
|
sessionStorage.setItem("isDefaultPassword", data.isDefaultPassword); |
|
sessionStorage.setItem("token", data.token); |
|
this.cookieService.set("token", data.token, null, '/'); |
|
this.cookieService.set("refreshToken", data.refreshToken, null, '/'); |
|
this.router.navigate(['/home/plan']) |
|
//调用服务中的function刷新token |
|
this.token.startUp() |
|
}, |
|
(err) => { this.errmsg = err } |
|
) |
|
} |
|
|
|
}
|
|
|