|
|
|
import { HttpClient } from '@angular/common/http';
|
|
|
|
import { Injectable } from '@angular/core';
|
|
|
|
import { Component, OnInit, Inject } from '@angular/core';
|
|
|
|
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';
|
|
|
|
import { ModeManager } from '../babylon/controller/mode-manager';
|
|
|
|
import { NzMessageService } from 'ng-zorro-antd/message';
|
|
|
|
|
|
|
|
@Injectable({
|
|
|
|
providedIn: 'root'
|
|
|
|
})
|
|
|
|
export class init3DGuard implements CanActivate {
|
|
|
|
|
|
|
|
constructor(private router: Router, private http: HttpClient, private message: NzMessageService,) { }
|
|
|
|
|
|
|
|
// 路由守卫
|
|
|
|
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot,): Promise<boolean> {
|
|
|
|
return this.getGasStationBaseInfo().then((res: any) => {
|
|
|
|
sessionStorage.setItem("3dSceneData", JSON.stringify(res))
|
|
|
|
let userdata = JSON.parse(sessionStorage.getItem('userdata'))
|
|
|
|
if (userdata.userName == 'superadmin') { //是superadmin,是内部制作账号
|
|
|
|
ModeManager.s_isMakeMode = true;
|
|
|
|
} else {
|
|
|
|
ModeManager.s_isMakeMode = false;
|
|
|
|
}
|
|
|
|
if (userdata.userName == 'superadmin' || res.hasBuildingInfo) {
|
|
|
|
return true
|
|
|
|
} else {
|
|
|
|
this.message.info("当前油站未开通!");
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
//获取 当前加油站基本信息
|
|
|
|
getGasStationBaseInfo() {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
let params = { organizationUnitId: (JSON.parse(sessionStorage.getItem('userdataOfgasstation'))).organization.id }
|
|
|
|
this.http.get('/api/services/app/GasStation/Get', { params: params }).subscribe((data: any) => {
|
|
|
|
resolve(data.result)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|