Files
blog-frontEnd/admin/src/app/pages/a-index/a-index.component.ts
2019-11-28 19:26:45 +08:00

81 lines
2.4 KiB
TypeScript

import {Component, OnInit} from '@angular/core';
import {UserService} from '../../services/user/user.service';
import {VisitorService} from '../../services/visitor/visitor.service';
import {WebUpdateService} from '../../services/update/web-update.service';
import {LogService} from '../../services/log/log.service';
import {Observable} from 'rxjs';
@Component({
selector: 'app-a-index',
templateUrl: './a-index.component.html',
styleUrls: ['./a-index.component.css']
})
export class AIndexComponent implements OnInit {
constructor(public userService: UserService,
public visitorService: VisitorService,
public webUpdateService: WebUpdateService,
public logService: LogService) {
}
Loading: boolean = false;
ip: string;
location: string;
ngOnInit() {
if (this.userService.userInfo) {
if (this.userService.userInfo.role === 'admin') {
this.admin();
} else {
this.user();
}
} else {
this.userService.getUserInfo().subscribe(data => {
if (data.result.role === 'admin') {
this.admin();
} else {
this.user();
}
});
}
}
admin() {
if (!this.visitorService.dayVisit) {
this.visitorService.getDayVisitor();
}
this.visitorService.getTotalVisitorCount();
if (!this.webUpdateService.lastestUpdateTime) {
this.webUpdateService.getLastestUpdateTime();
}
this.readLog();
}
user() {
this.visitorService.getLocalIp().subscribe(data => {
if (data.code === 0) {
this.ip = data.result;
const getip = this.visitorService.getIp(this.ip);
if (getip instanceof Observable) {
getip.subscribe(ipOb => {
this.location = ipOb.result;
});
} else {
this.location = getip;
}
}
});
}
readLog() {
this.Loading = true;
this.logService.getLog().subscribe(date => {
setTimeout(() => {
this.Loading = false;
}, 100);
});
}
}