81 lines
2.4 KiB
TypeScript
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);
|
|
});
|
|
}
|
|
|
|
}
|