|
|
|
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 }
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|