import {Component, OnDestroy, OnInit} from '@angular/core'; import {GlobalEventDispatcher, SiderService} from "@yunzai/stars"; import {environment} from '../../environments/environment'; export interface Intro { desc: string; enable: number; id: string; name: string; orderNo: number; url: string; } @Component({ selector: '<%=prefix%>-display-index', templateUrl: './display-index.component.html', styleUrls: ['./display-index.component.less'] }) export class DisplayIndexComponent implements OnInit { intros: Array = []; // 项目内置图片 projectBuiltInImg: string = environment.static + 'assets/img/intro.png'; // 包内置图片 yzBuiltInImg: string = environment.static + 'assets/img/default.png'; // 项目是否内置图片 effectiveImg: boolean = false; constructor(private siderService: SiderService, private globalEventDispatcher: GlobalEventDispatcher) { } ngOnInit() { this.globalEventDispatcher.dispatch('globalBread', 'breadcrumb', { isBreadcrumbEle: false, }); const siderAttribute = localStorage.getItem('siderAttribute'); if (siderAttribute) { const attr: any = JSON.parse(siderAttribute); if (attr.intros && attr.intros.length > 0) { this.intros = attr.intros.filter((intro: Intro) => { return intro.enable === 1; }); } else { this.intros = []; this.effectiveImg = this.validateImage(this.projectBuiltInImg); } } else { this.intros = []; this.effectiveImg = this.validateImage(this.projectBuiltInImg); } } /** * 判断图片路径是否有效 * @param url 图片路径 */ validateImage(url) { let xmlHttp; if (window['XMLHttpRequest']) { xmlHttp = new XMLHttpRequest(); } xmlHttp.open("Get", url, false); xmlHttp.send(); if (xmlHttp.status == 404) { return false; } else { return true; } } }