import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { map } from 'rxjs/internal/operators'; import { getToken, ResponseBase, ConfigsService, transformResponse } from 'pz-unit'; import { serveUrl } from 'environments/environment'; import { MenuModel } from '../api/model/menu.model'; import { Observable } from 'rxjs'; @Injectable() export class AuthStatusApi { public constructor(private httpClient: HttpClient, protected config: ConfigsService) { } public getRouteResource(route: string): Observable { // 路由地址转ID let id: string; let menu: any = {}; getToken().menuList.map( x => { if (!x.isLeaf) { menu = x.children.find( y => y.routerLink === route ) ? x.children.find( y => y.routerLink === route ) : null; } else { if (x.routerLink === route) { menu = x; } } }); id = menu.key; const url = `${this.config.exportServer(serveUrl)}manage/resource/menu/${id}`; return this.httpClient.get>(url) .pipe(map(transformResponse)).pipe(map( (x: any) => x.map( y => ({ name: y.showName, code: y.code})))); } }