@yelon/bis 16.3.8 → 16.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/layout/bis.config.mjs +1 -1
- package/esm2022/layout/layout-basic/interface.mjs +1 -1
- package/esm2022/layout/layout-basic/layout-basic.component.mjs +31 -35
- package/esm2022/layout/layout-nav/layout-nav-application.component.mjs +50 -32
- package/esm2022/layout/layout-nav/layout-nav-group.component.mjs +3 -3
- package/esm2022/layout/layout-nav/layout-nav-tile.component.mjs +3 -3
- package/esm2022/layout/public_api.mjs +2 -3
- package/esm2022/layout/widgets/yunzai-i18n.component.mjs +3 -3
- package/esm2022/layout/widgets/yunzai-notify.component.mjs +6 -4
- package/esm2022/layout/widgets/yunzai-theme-btn.component.mjs +5 -5
- package/esm2022/layout/widgets/yunzai-user.component.mjs +4 -4
- package/esm2022/layout/yunzai-act.guard.mjs +26 -49
- package/esm2022/layout/yunzai-analysis-addon.guard.mjs +31 -24
- package/esm2022/layout/yunzai-default.interceptor.mjs +2 -2
- package/esm2022/layout/yunzai-i18n.service.mjs +2 -2
- package/esm2022/layout/yunzai-startup.service.mjs +3 -3
- package/fesm2022/layout.mjs +149 -167
- package/fesm2022/layout.mjs.map +1 -1
- package/layout/public_api.d.ts +1 -2
- package/layout/widgets/yunzai-i18n.component.d.ts +1 -1
- package/layout/yunzai-act.guard.d.ts +8 -8
- package/layout/yunzai-analysis-addon.guard.d.ts +7 -5
- package/layout/yunzai-i18n.service.d.ts +1 -1
- package/package.json +12 -12
- package/esm2022/layout/analysis.addon.mjs +0 -19
- package/layout/analysis.addon.d.ts +0 -3
package/fesm2022/layout.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.mjs","sources":["../../../../packages/bis/layout/widgets/yunzai-clear-storage.component.ts","../../../../packages/bis/layout/widgets/yunzai-fullscreen.component.ts","../../../../packages/bis/layout/yunzai-lang.ts","../../../../packages/bis/layout/yunzai-i18n.service.ts","../../../../packages/bis/layout/widgets/yunzai-i18n.component.ts","../../../../packages/bis/layout/widgets/yunzai-notify.component.ts","../../../../packages/bis/layout/widgets/yunzai-theme-btn.component.ts","../../../../packages/bis/layout/bis.config.ts","../../../../packages/bis/layout/widgets/yunzai-user.component.ts","../../../../packages/bis/layout/layout-nav/layout-nav-application.component.ts","../../../../packages/bis/layout/layout-nav/layout-nav-group.component.ts","../../../../packages/bis/layout/layout-nav/layout-nav-tile.component.ts","../../../../packages/bis/layout/layout-basic/layout-basic.component.ts","../../../../packages/bis/layout/yunzai-act.guard.ts","../../../../packages/bis/layout/yunzai-auth.service.ts","../../../../packages/bis/layout/yunzai-default.interceptor.ts","../../../../packages/bis/layout/yunzai-layout.module.ts","../../../../packages/bis/layout/icon/style-icons.ts","../../../../packages/bis/layout/yunzai-startup.service.ts","../../../../packages/bis/layout/html-names.ts","../../../../packages/bis/layout/analysis.addon.ts","../../../../packages/bis/layout/yunzai-analysis-addon.guard.ts","../../../../packages/bis/layout/layout.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { NzModalService } from 'ng-zorro-antd/modal';\n\n@Component({\n selector: 'yunzai-clearstorage',\n template: `\n <i nz-icon nzType=\"tool\"></i>\n {{ 'storage.clear' | i18n }}\n `,\n host: {\n '[class.d-block]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiClearStorageComponent {\n constructor(\n private modalSrv: NzModalService,\n private messageSrv: NzMessageService\n ) {}\n\n @HostListener('click')\n _click(): void {\n this.modalSrv.confirm({\n nzTitle: 'Make sure clear all local storage?',\n nzOnOk: () => {\n localStorage.clear();\n this.messageSrv.success('Clear Finished!');\n }\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';\n\nimport screenfull from 'screenfull';\n\n@Component({\n selector: 'yunzai-fullscreen',\n template: `\n <i nz-icon [nzType]=\"status ? 'fullscreen-exit' : 'fullscreen'\"></i>\n {{ (status ? 'exitFullscreen' : 'fullscreen') | i18n }}\n `,\n host: {\n '[class.d-block]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiFullScreenComponent {\n status = false;\n\n @HostListener('window:resize')\n _resize(): void {\n this.status = screenfull.isFullscreen;\n }\n\n @HostListener('click')\n _click(): void {\n if (screenfull.isEnabled) {\n screenfull.toggle();\n }\n }\n}\n","import ngElGr from '@angular/common/locales/el';\nimport ngEn from '@angular/common/locales/en';\nimport ngEsEs from '@angular/common/locales/es';\nimport ngFr from '@angular/common/locales/fr';\nimport ngHr from '@angular/common/locales/hr';\nimport ngIt from '@angular/common/locales/it';\nimport ngKo from '@angular/common/locales/ko';\nimport ngPl from '@angular/common/locales/pl';\nimport ngSl from '@angular/common/locales/sl';\nimport ngTr from '@angular/common/locales/tr';\nimport ngZh from '@angular/common/locales/zh';\nimport ngZhTw from '@angular/common/locales/zh-Hant';\n\nimport {\n enUS as dfEn,\n zhCN as dfZhCn,\n zhTW as dfZhTw,\n el as dfEl,\n es as dfEs,\n fr as dfFr,\n hr as dfHr,\n it as dfIt,\n ko as dfKo,\n pl as dfPl,\n sl as dfSl,\n tr as dfTr\n} from 'date-fns/locale';\n\nimport {\n el_GR as yelonElGR,\n en_US as yelonEnUS,\n es_ES as yelonEsES,\n fr_FR as yelonFrFR,\n hr_HR as yelonHrHR,\n it_IT as yelonItIT,\n ko_KR as yelonKoKR,\n pl_PL as yelonPlPL,\n sl_SI as yelonSlSI,\n tr_TR as yelonTrTR,\n zh_CN as yelonZhCn,\n zh_TW as yelonZhTw\n} from '@yelon/theme';\nimport {\n el_GR as zorroElGR,\n en_US as zorroEnUS,\n es_ES as zorroEsES,\n fr_FR as zorroFrFR,\n hr_HR as zorroHrHR,\n it_IT as zorroItIT,\n ko_KR as zorroKoKR,\n pl_PL as zorroPlPL,\n sl_SI as zorroSlSI,\n tr_TR as zorroTrTR,\n zh_CN as zorroZhCN,\n zh_TW as zorroZhTW\n} from 'ng-zorro-antd/i18n';\n\nexport interface LangConfigData {\n abbr: string;\n text: string;\n ng: any;\n zorro: any;\n date: any;\n yelon: any;\n}\n\nexport const YUNZAI_LANGS: { [key: string]: LangConfigData } = {\n 'zh-CN': {\n text: '简体中文',\n ng: ngZh,\n zorro: zorroZhCN,\n date: dfZhCn,\n yelon: yelonZhCn,\n abbr: '🇨🇳'\n },\n 'zh-TW': {\n text: '繁体中文',\n ng: ngZhTw,\n zorro: zorroZhTW,\n date: dfZhTw,\n yelon: yelonZhTw,\n abbr: '🇭🇰'\n },\n 'en-US': {\n text: 'English',\n ng: ngEn,\n zorro: zorroEnUS,\n date: dfEn,\n yelon: yelonEnUS,\n abbr: '🇬🇧'\n },\n 'el-GR': {\n text: 'Ελληνικά',\n ng: ngElGr,\n zorro: zorroElGR,\n date: dfEl,\n yelon: yelonElGR,\n abbr: '🇬🇷'\n },\n 'es-ES': {\n text: 'Español',\n ng: ngEsEs,\n zorro: zorroEsES,\n date: dfEs,\n yelon: yelonEsES,\n abbr: '🇪🇸'\n },\n 'fr-FR': {\n text: 'Français',\n ng: ngFr,\n zorro: zorroFrFR,\n date: dfFr,\n yelon: yelonFrFR,\n abbr: '🇫🇷'\n },\n 'hr-HR': {\n text: 'Hrvatski',\n ng: ngHr,\n zorro: zorroHrHR,\n date: dfHr,\n yelon: yelonHrHR,\n abbr: '🇭🇷'\n },\n 'it-IT': {\n text: 'Italiano',\n ng: ngIt,\n zorro: zorroItIT,\n date: dfIt,\n yelon: yelonItIT,\n abbr: '🇮🇹'\n },\n 'ko-KR': {\n text: '한국어',\n ng: ngKo,\n zorro: zorroKoKR,\n date: dfKo,\n yelon: yelonKoKR,\n abbr: '🇰🇷'\n },\n 'pl-PL': {\n text: 'Polski',\n ng: ngPl,\n zorro: zorroPlPL,\n date: dfPl,\n yelon: yelonPlPL,\n abbr: '🇵🇱'\n },\n 'sl-SI': {\n text: 'Slovenščina',\n ng: ngSl,\n zorro: zorroSlSI,\n date: dfSl,\n yelon: yelonSlSI,\n abbr: '🇸🇮'\n },\n 'tr-TR': {\n text: 'Türkçe',\n ng: ngTr,\n zorro: zorroTrTR,\n date: dfTr,\n yelon: yelonTrTR,\n abbr: '🇹🇷'\n }\n};\n","import {Platform} from '@angular/cdk/platform';\nimport {registerLocaleData} from '@angular/common';\nimport ngEn from '@angular/common/locales/en';\nimport {Inject, Injectable, OnDestroy} from '@angular/core';\nimport {Observable, catchError, of, Subject, takeUntil} from 'rxjs';\n\nimport {enUS as dfEn} from 'date-fns/locale';\nimport {map} from 'rxjs/operators';\nimport {ITokenService} from \"@yelon/auth\"\n\nimport {\n YelonLocaleService,\n SettingsService,\n _HttpClient,\n YunzaiI18nBaseService,\n YunzaiI18NType,\n en_US as yelonEnUS\n} from '@yelon/theme';\nimport { YunzaiConfigService} from '@yelon/util/config';\nimport {NzSafeAny} from 'ng-zorro-antd/core/types';\nimport {NzI18nService, en_US as zorroEnUS} from 'ng-zorro-antd/i18n';\n\nimport {YUNZAI_LANGS} from './yunzai-lang';\nimport { YA_SERVICE_TOKEN} from \"@yelon/auth\";\n\ndeclare const ngDevMode: boolean;\n\nconst DEFAULT = 'zh-CN';\n\n@Injectable({providedIn: 'root'})\nexport class YunzaiI18NService extends YunzaiI18nBaseService implements OnDestroy {\n protected override _defaultLang = DEFAULT;\n private $destroy = new Subject()\n\n constructor(\n private http: _HttpClient,\n private settings: SettingsService,\n private nzI18nService: NzI18nService,\n private yelonLocaleService: YelonLocaleService,\n private platform: Platform,\n @Inject(YA_SERVICE_TOKEN) private tokenService: ITokenService,\n cogSrv: YunzaiConfigService\n ) {\n super(cogSrv);\n if(this.tokenService.get()?.access_token){\n const defaultLang = this.getDefaultLang();\n this.getLangs()\n .pipe(takeUntil(this.$destroy))\n .subscribe(langs => {\n this._defaultLang = langs.findIndex(w => w.code === defaultLang) === -1 ? DEFAULT : defaultLang;\n });\n }\n }\n\n private getDefaultLang(): string {\n if (!this.platform.isBrowser) {\n return DEFAULT;\n }\n if (this.settings.layout.lang) {\n return this.settings.layout.lang;\n }\n let res = (navigator.languages ? navigator.languages[0] : null) || navigator.language;\n const arr = res.split('-');\n return arr.length <= 1 ? res : `${arr[0]}-${arr[1].toUpperCase()}`;\n }\n\n loadLangData(lang: string): Observable<NzSafeAny> {\n if (ngDevMode) {\n return this.http.get(`assets/tmp/i18n/${lang}.json`);\n } else {\n return this.http\n .get(`/i18n/api/v2/language/${lang}`)\n .pipe(catchError(() => this.http.get(`assets/tmp/i18n/${lang}.json`)));\n }\n }\n\n use(lang: string, data: Record<string, unknown>): void {\n if (this._currentLang === lang) return;\n this._data = this.flatData(data, []);\n const item = YUNZAI_LANGS[lang];\n if (item) {\n registerLocaleData(item.ng);\n this.nzI18nService.setLocale(item.zorro);\n this.nzI18nService.setDateLocale(item.date);\n this.yelonLocaleService.setLocale(item.yelon);\n this._currentLang = lang;\n this._change$.next(lang);\n } else {\n registerLocaleData(ngEn);\n this.nzI18nService.setLocale(zorroEnUS);\n this.nzI18nService.setDateLocale(dfEn);\n this.yelonLocaleService.setLocale(yelonEnUS);\n this._currentLang = lang;\n this._change$.next(lang);\n }\n }\n\n getLangs(): Observable<YunzaiI18NType[]> {\n const langs = Object.keys(YUNZAI_LANGS).map(code => {\n const item = YUNZAI_LANGS[code];\n return {code, text: item.text, abbr: item.abbr, image: undefined};\n });\n if (ngDevMode) {\n return of(langs);\n } else {\n return this.http.get(`/i18n/api/v2/language`).pipe(\n map((response: any) => {\n return response.data;\n }),\n catchError(() => of(langs))\n );\n }\n }\n\n\n ngOnDestroy() {\n this.$destroy.complete()\n }\n\n}\n\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Inject, Input, OnDestroy} from '@angular/core';\n\nimport {YUNZAI_I18N_TOKEN, SettingsService, YunzaiI18NType} from '@yelon/theme';\nimport {YunzaiI18NService} from \"../yunzai-i18n.service\"\nimport {BooleanInput, InputBoolean} from '@yelon/util/decorator';\n\nimport {Subject, takeUntil} from \"rxjs\";\n\n@Component({\n selector: 'yunzai-i18n',\n template: `\n <div *ngIf=\"showLangText\" nz-dropdown [nzDropdownMenu]=\"langMenu\" nzPlacement=\"bottomRight\">\n <i nz-icon nzType=\"global\"></i>\n {{ 'lang.nav' | i18n }}\n <i nz-icon nzType=\"down\"></i>\n </div>\n <i\n *ngIf=\"!showLangText\"\n nz-dropdown\n [nzDropdownMenu]=\"langMenu\"\n nzPlacement=\"bottomRight\"\n nz-icon\n nzType=\"global\"\n ></i>\n <nz-dropdown-menu data-event-id=\"_nav_lang\" #langMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li\n data-event-id=\"_nav_lang\"\n [attr.data-text]=\"item.text\"\n nz-menu-item\n *ngFor=\"let item of langs\"\n [nzSelected]=\"item.code === curLangCode\"\n (click)=\"change(item.code)\"\n >\n <span *ngIf=\"!item.icon\" role=\"img\" [attr.aria-label]=\"item.text\" class=\"pr-xs\">{{ item.abbr }}</span>\n <img\n *ngIf=\"item.icon\"\n style=\"margin-right:4px\"\n width=\"50px\"\n height=\"30px\"\n [src]=\"'data:image/png;base64,' + item.icon\"\n [alt]=\"item.abbr\"\n class=\"pr-xs\"\n />\n {{ item.text }}\n </li>\n </ul>\n </nz-dropdown-menu>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiI18NComponent implements OnDestroy{\n static ngAcceptInputType_showLangText: BooleanInput;\n /** Whether to display language text */\n @Input() @InputBoolean() showLangText = true;\n private $destroy = new Subject()\n\n langs: YunzaiI18NType[] = [];\n\n get curLangCode(): string {\n return this.settings.layout.lang;\n }\n\n constructor(\n private settings: SettingsService,\n @Inject(YUNZAI_I18N_TOKEN) private i18n: YunzaiI18NService,\n @Inject(DOCUMENT) private doc: any\n ) {\n this.i18n\n .getLangs()\n .pipe(takeUntil(this.$destroy))\n .subscribe(langs => {\n this.langs = langs;\n });\n }\n\n change(lang: string): void {\n const spinEl = this.doc.createElement('div');\n spinEl.setAttribute('class', `page-loading ant-spin ant-spin-lg ant-spin-spinning`);\n spinEl.innerHTML = `<span class=\"ant-spin-dot ant-spin-dot-spin\"><i></i><i></i><i></i><i></i></span>`;\n this.doc.body.appendChild(spinEl);\n\n this.i18n.loadLangData(lang).subscribe(res => {\n this.i18n.use(lang, res);\n this.settings.setLayout('lang', lang);\n setTimeout(() => this.doc.location.reload());\n });\n }\n\n ngOnDestroy(): void {\n this.$destroy.complete()\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Injector,\n OnDestroy,\n OnInit\n} from '@angular/core';\nimport { forkJoin, Observable, Subscription, map } from 'rxjs';\n\nimport { formatDistanceToNow } from 'date-fns';\n\nimport { NoticeIconSelect, NoticeItem } from '@yelon/abc/notice-icon';\nimport { YUNZAI_I18N_TOKEN, _HttpClient } from '@yelon/theme';\nimport { WINDOW } from '@yelon/util';\nimport { log } from '@yelon/util/other';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { YunzaiI18NService } from '../yunzai-i18n.service';\n\n@Component({\n selector: 'yunzai-notify',\n template: `\n <notice-icon\n [data]=\"data\"\n [count]=\"count\"\n [loading]=\"loading\"\n btnClass=\"yunzai-default__nav-item\"\n btnIconClass=\"yunzai-default__nav-item-icon\"\n (select)=\"select($event)\"\n (clear)=\"clear($event)\"\n ></notice-icon>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiNotifyComponent implements OnInit, OnDestroy {\n data: NoticeItem[] = [\n {\n key: 'msg',\n title: this.y18n.fanyi('notify.message'),\n list: [],\n emptyText: this.y18n.fanyi('notify.message.empty'),\n emptyImage: './assets/tmp/img/message.svg',\n clearText: this.y18n.fanyi('notify.message.clear')\n },\n {\n key: 'todo',\n title: this.y18n.fanyi('notify.todo'),\n list: [],\n emptyText: this.y18n.fanyi('notify.todo.empty'),\n emptyImage: './assets/tmp/img/todo.svg',\n clearText: this.y18n.fanyi('notify.todo.clear')\n },\n {\n key: 'notice',\n title: this.y18n.fanyi('notify.notice'),\n list: [],\n emptyText: this.y18n.fanyi('notify.notice.empty'),\n emptyImage: './assets/tmp/img/notice.svg',\n clearText: this.y18n.fanyi('notify.notice.clear')\n }\n ];\n loading = false;\n count = 0;\n subs: Subscription[] = [];\n\n constructor(\n private injector: Injector,\n private msg: NzMessageService,\n @Inject(YUNZAI_I18N_TOKEN) private y18n: YunzaiI18NService,\n private nzI18n: NzI18nService,\n private cdr: ChangeDetectorRef,\n private httpClient: _HttpClient\n ) {}\n\n ngOnInit(): void {\n this.loadData();\n }\n\n loadData(): void {\n this.count = 0;\n this.loading = true;\n this.subs.push(\n forkJoin(this.loadTodo(), this.loadMessage()).subscribe(() => {\n this.loading = false;\n this.cdr.detectChanges();\n })\n );\n }\n\n loadMessage(): Observable<void> {\n log('notify.component: ', 'fetch message list');\n const formatMessageStatus = (status: string): NzSafeAny => {\n switch (status) {\n case '0':\n return { extra: this.y18n.fanyi('notify.unread'), color: 'red' };\n case '1':\n return { extra: this.y18n.fanyi('notify.readed'), color: 'green' };\n default:\n return { extra: this.y18n.fanyi('notify.nostatus'), color: 'primary' };\n }\n };\n return this.httpClient\n .post(`/message-center-3/my-msg-and-todo/msg-list`, {\n pageNum: 1,\n pageSize: 10,\n status: '0'\n })\n .pipe(\n map((response: NzSafeAny) => {\n const viewMessage = this.data.filter(d => d.key === 'msg')[0];\n viewMessage.list = response.data.list.map((m: NzSafeAny) => {\n return {\n ...m,\n avatar: m?.imgUrl || './assets/tmp/img/message.png',\n title: m.systemName,\n description: m.content,\n extra: formatMessageStatus(m.status).extra,\n color: formatMessageStatus(m.status).color,\n datetime: formatDistanceToNow(new Date(m.date), { locale: this.nzI18n.getDateLocale() })\n };\n });\n this.count += viewMessage.list.length;\n })\n );\n }\n\n loadTodo(): Observable<void> {\n log('notify.component: ', 'fetch todo list');\n const formatTodoStatus = (status: string): NzSafeAny => {\n switch (status) {\n case '0':\n return { extra: this.y18n.fanyi('notify.unstart'), color: 'red' };\n case '1':\n return { extra: this.y18n.fanyi('notify.started'), color: 'green' };\n default:\n return { extra: this.y18n.fanyi('notify.nostatus'), color: 'primary' };\n }\n };\n return this.httpClient\n .post(`/message-center-3/my-msg-and-todo/todo-list`, {\n pageNum: 1,\n pageSize: 10,\n status: '0'\n })\n .pipe(\n map((response: NzSafeAny) => {\n const viewTodo = this.data.filter(d => d.key === 'todo')[0];\n viewTodo.list = response.data.list.map((t: NzSafeAny) => {\n return {\n ...t,\n avatar: t?.imgUrl || './assets/tmp/img/todo.png',\n title: t.systemName,\n description: t.content,\n datetime: formatDistanceToNow(new Date(t.date), { locale: this.nzI18n.getDateLocale() }),\n extra: formatTodoStatus(t.status).extra,\n color: formatTodoStatus(t.status).color\n };\n });\n this.count += viewTodo.list.length;\n })\n );\n }\n\n clear(type: string): void {\n const t = this.data.filter(d => d.title === type)[0];\n if (t.key == 'msg' || t.key == 'notice') {\n this.subs.push(\n this.httpClient.post(`/message-center-3/my-msg-and-todo/msg-clear`, {}).subscribe(_ => {\n this.msg.success(`${this.y18n.fanyi('notify.clear')} ${type}`);\n this.loadData();\n })\n );\n }\n if (t.key == 'todo') {\n this.loadData();\n }\n }\n\n select(res: NoticeIconSelect): void {\n this.injector.get(WINDOW).open(res.item.url);\n this.loadData();\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(a => a.unsubscribe());\n }\n}\n","import {Direction, Directionality} from '@angular/cdk/bidi';\nimport {Platform} from '@angular/cdk/platform';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n Inject,\n Optional\n} from '@angular/core';\n\nimport {ThemeBtnType, YUNZAI_THEME_BTN_KEYS} from '@yelon/theme/theme-btn';\nimport {YunzaiConfigService} from '@yelon/util/config';\nimport {NzSafeAny} from 'ng-zorro-antd/core/types';\nimport {Subject, takeUntil} from \"rxjs\";\n\nexport interface YunzaiThemeBtnType extends ThemeBtnType {\n color?: string;\n}\n\n@Component({\n selector: 'yunzai-theme-btn',\n template: `\n <div\n data-event-id=\"_nav_theme\"\n class=\"yunzai-default__nav-item\"\n nz-dropdown\n [nzDropdownMenu]=\"iconMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <svg nz-tooltip class=\"anticon\" role=\"img\" width=\"21\" height=\"21\" viewBox=\"0 0 21 21\" fill=\"currentColor\">\n <g fill-rule=\"evenodd\">\n <g fill-rule=\"nonzero\">\n <path\n d=\"M7.02 3.635l12.518 12.518a1.863 1.863 0 010 2.635l-1.317 1.318a1.863 1.863 0 01-2.635 0L3.068 7.588A2.795 2.795 0 117.02 3.635zm2.09 14.428a.932.932 0 110 1.864.932.932 0 010-1.864zm-.043-9.747L7.75 9.635l9.154 9.153 1.318-1.317-9.154-9.155zM3.52 12.473c.514 0 .931.417.931.931v.932h.932a.932.932 0 110 1.864h-.932v.931a.932.932 0 01-1.863 0l-.001-.931h-.93a.932.932 0 010-1.864h.93v-.932c0-.514.418-.931.933-.931zm15.374-3.727a1.398 1.398 0 110 2.795 1.398 1.398 0 010-2.795zM4.385 4.953a.932.932 0 000 1.317l2.046 2.047L7.75 7 5.703 4.953a.932.932 0 00-1.318 0zM14.701.36a.932.932 0 01.931.932v.931h.932a.932.932 0 010 1.864h-.933l.001.932a.932.932 0 11-1.863 0l-.001-.932h-.93a.932.932 0 110-1.864h.93v-.931a.932.932 0 01.933-.932z\"\n ></path>\n </g>\n </g>\n </svg>\n </div>\n <nz-dropdown-menu #iconMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li\n nz-menu-item\n data-event-id=\"_nav_theme\"\n [attr.data-text]=\"theme.text | i18n\"\n *ngFor=\"let theme of types\"\n (click)=\"onThemeChange(theme.key)\"\n [style]=\"{ color: theme.color }\"\n >\n <i nz-icon nzType=\"bg-colors\"></i>\n {{ theme.text | i18n }}\n </li>\n </ul>\n <!-- <div nz-menu class=\"wd-xl animated jello\">-->\n <!-- <div nz-row [nzJustify]=\"'space-between'\" [nzAlign]=\"'middle'\" class=\"app-icons\">-->\n <!-- <div nz-col [nzSpan]=\"4\" *ngFor=\"let theme of types\" (click)=\"onThemeChange(theme.key)\">-->\n <!-- <i nz-icon nzType=\"bg-colors\" class=\"text-white\" [style]=\"{ backgroundColor: theme.color }\"></i>-->\n <!-- <span [ngStyle]=\"{ color: theme.color }\">{{ theme.text | i18n }}</span>-->\n <!-- </div>-->\n <!-- </div>-->\n <!-- </div>-->\n </nz-dropdown-menu>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiThemBtnComponent implements OnInit, OnDestroy {\n private theme = 'default';\n @Input() types: YunzaiThemeBtnType[] = [\n {key: 'default', text: 'theme.default', color: '#2163ff'},\n {key: 'compact', text: 'theme.compact', color: '#2163ff'},\n {key: 'dark', text: 'theme.dark', color: '#020202'},\n {key: 'yuhong', text: 'theme.yuhong', color: '#C04851'},\n {key: 'danjuhuang', text: 'theme.danjuhuang', color: '#FBA414'},\n {key: 'xinghuang', text: 'theme.xinghuang', color: '#F28E16'},\n {key: 'shilv', text: 'theme.shilv', color: '#57C3C2'},\n {key: 'zhulv', text: 'theme.zhulv', color: '#1BA784'},\n {key: 'youlan', text: 'theme.youlan', color: '#1781B5'},\n {key: 'dianqing', text: 'theme.dianqing', color: '#1661AB'},\n {key: 'shangengzi', text: 'theme.shangengzi', color: '#61649F'},\n {key: 'shuiniuhui', text: 'theme.shuiniuhui', color: '#2F2F35'}\n ];\n @Input() devTips = `When the dark.css file can't be found, you need to run it once: npm run theme`;\n @Input() deployUrl = '';\n dir: Direction = 'ltr';\n private $destroy = new Subject()\n\n constructor(\n private renderer: Renderer2,\n private configSrv: YunzaiConfigService,\n private platform: Platform,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n @Optional() private directionality: Directionality,\n @Inject(YUNZAI_THEME_BTN_KEYS) private KEYS: string\n ) {\n }\n\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.$destroy)).subscribe((direction: Direction) => {\n this.dir = direction;\n });\n this.initTheme();\n }\n\n private initTheme(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.theme = localStorage.getItem(this.KEYS) || 'default';\n this.updateChartTheme();\n this.onThemeChange(this.theme);\n }\n\n private updateChartTheme(): void {\n this.configSrv.set('chart', {theme: this.theme === 'dark' ? 'dark' : ''});\n }\n\n onThemeChange(theme: string): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.theme = theme;\n this.renderer.setAttribute(this.doc.body, 'data-theme', theme);\n const dom = this.doc.getElementById(this.KEYS);\n if (dom) {\n dom.remove();\n }\n localStorage.removeItem(this.KEYS);\n if (theme !== 'default') {\n const el = this.doc.createElement('link');\n el.type = 'text/css';\n el.rel = 'stylesheet';\n el.id = this.KEYS;\n el.href = `${this.deployUrl}assets/style.${theme}.css`;\n\n localStorage.setItem(this.KEYS, theme);\n this.doc.body.append(el);\n }\n this.updateChartTheme();\n }\n\n ngOnDestroy(): void {\n this.$destroy.complete()\n const el = this.doc.getElementById(this.KEYS);\n if (el != null) {\n this.doc.body.removeChild(el);\n }\n }\n}\n","import {YunzaiBusinessConfig, YunzaiConfigService} from '@yelon/util';\n\nexport const BUSINESS_DEFAULT_CONFIG: YunzaiBusinessConfig = {\n baseUrl: '/backstage',\n systemCode: 'portal',\n nav: {\n mine: true,\n all: true\n },\n loginForm: null,\n refreshTokenEnabled: true,\n refreshTokenType: 're-request'\n};\n\nexport function mergeBisConfig(srv: YunzaiConfigService): YunzaiBusinessConfig {\n return srv.merge('bis', BUSINESS_DEFAULT_CONFIG)!;\n}\n","import { ChangeDetectionStrategy, Component, Inject, Injector, OnInit } from '@angular/core';\n\nimport { YA_SERVICE_TOKEN, ITokenService } from '@yelon/auth';\nimport {\n useLocalStorageProjectInfo,\n useLocalStorageUser,\n WINDOW,\n YunzaiBusinessConfig,\n YunzaiConfigService\n} from '@yelon/util';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { mergeBisConfig } from '../bis.config';\n\nexport interface UserLink {\n icon: string;\n name: string;\n url: string;\n}\n\n@Component({\n selector: 'yunzai-user',\n template: `\n <div\n class=\"yunzai-default__nav-item d-flex align-items-center px-sm\"\n data-event-id=\"_nav_user\"\n nz-dropdown\n nzPlacement=\"bottomRight\"\n [nzDropdownMenu]=\"userMenu\"\n >\n <div class=\"yz-user-name\">\n <nz-avatar [nzSrc]=\"icon\" nzSize=\"small\" class=\"mr-sm\"></nz-avatar>\n {{ username }}\n </div>\n </div>\n <nz-dropdown-menu #userMenu=\"nzDropdownMenu\">\n <div nz-menu class=\"width-sm\">\n <div\n data-event-id=\"_nav_user\"\n [attr.data-name]=\"m.name | i18n\"\n nz-menu-item\n *ngFor=\"let m of menus\"\n (click)=\"to(m.url)\"\n >\n <i nz-icon [nzType]=\"m.icon\" class=\"mr-sm\"></i>\n {{ m.name | i18n }}\n </div>\n <li nz-menu-divider></li>\n <div data-event-id=\"_nav_user\" data-name=\"注销登录\" nz-menu-item (click)=\"logout()\">\n <i nz-icon nzType=\"logout\" class=\"mr-sm\"></i>\n {{ 'logout' | i18n }}\n </div>\n </div>\n </nz-dropdown-menu>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiUserComponent implements OnInit {\n private config: YunzaiBusinessConfig;\n\n constructor(\n private injector: Injector,\n private msg: NzMessageService,\n @Inject(YA_SERVICE_TOKEN) private tokenService: ITokenService,\n // @ts-ignore\n private configService: YunzaiConfigService\n ) {\n this.config = mergeBisConfig(configService);\n }\n\n icon: string = '';\n username: string = '';\n menus: UserLink[] = [];\n\n ngOnInit(): void {\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const [, getUser] = useLocalStorageUser();\n const projectInfo = getProjectInfo()!;\n const user = getUser()!;\n this.username = user.realname ? user.realname : '未命名';\n this.icon = user.avatarId\n ? `${this.config.baseUrl}/filecenter/file/${user.avatarId}`\n : `./assets/tmp/img/avatar.jpg`;\n this.menus = projectInfo.profileList as UserLink[];\n }\n\n logout(): void {\n localStorage.clear();\n this.tokenService.clear();\n this.injector.get(WINDOW).location.href = `${this.config.baseUrl}/cas-proxy/app/logout`;\n }\n\n to(href: string): void {\n if (href) {\n this.injector.get(WINDOW).open(href);\n } else {\n this.msg.error('该菜单没有配置链接!');\n }\n }\n}\n","import {Component, Inject, Injector, OnDestroy, OnInit} from '@angular/core';\n\nimport {_HttpClient} from '@yelon/theme';\nimport {\n LayoutNavApplicationState,\n useLocalStorageHeader,\n WINDOW,\n YunzaiBusinessConfig,\n YunzaiConfigService,\n YunzaiNavTopic\n} from '@yelon/util';\n\nimport {YunzaiI18NService} from '../yunzai-i18n.service';\nimport {BUSINESS_DEFAULT_CONFIG, mergeBisConfig} from \"../bis.config\";\nimport {Subject, takeUntil} from \"rxjs\";\n\n@Component({\n selector: `layout-nav-application`,\n template: `\n <!-- search start-->\n <ng-template #search>\n <div nz-row class=\"yz-application-list-search\">\n <nz-input-group [nzPrefix]=\"prefixTemplate\">\n <input\n data-event-id=\"_nav_search\"\n type=\"text\"\n nz-input\n placeholder=\"{{ 'application.search' | i18n }}\"\n [(ngModel)]=\"state.search\"\n (ngModelChange)=\"onSearch()\"\n />\n <ng-template #prefixTemplate>\n <i nz-icon nzType=\"search\" nzTheme=\"outline\"></i>\n </ng-template>\n </nz-input-group>\n </div>\n </ng-template>\n <!-- search end -->\n\n <!-- right menu start -->\n <ng-template #ld>\n <div class=\"yz-application-list\">\n <ul>\n <li *ngFor=\"let topic of state.list\">\n <h5>{{ topic.name | i18n }}</h5>\n <a\n data-event-id=\"_nav_item\"\n [attr.data-name]=\"nav.name | i18n\"\n href=\"javascript:;\"\n *ngFor=\"let nav of topic.children\"\n (click)=\"open(nav)\"\n >{{ nav.name | i18n }}</a\n >\n </li>\n </ul>\n </div>\n </ng-template>\n <!-- right menu end -->\n\n <!-- button start-->\n <div data-event-id=\"_nav_app\" id=\"navBtn\" class=\"yunzai-default__nav-item\"\n (click)=\"diffChange()\"> {{ 'mode.nav' | i18n }}</div>\n <!-- button end-->\n\n <!-- header start-->\n <div class=\"yz-application\" id=\"navDropdown\" nz-row *ngIf=\"state.active\">\n <div nz-col [nzSpan]=\"3\" class=\"yz-application-topic\">\n <div *ngIf=\"showAllMenu\" data-event-id=\"_nav_topic\" data-name=\"全部应用\" class=\"yz-application-text\"\n (click)=\"attachNav('all')\">{{\n 'mode.nav.all' | i18n\n }}</div>\n <div *ngIf=\"showMineMenu\" data-event-id=\"_nav_topic\" data-name=\"我的应用\" class=\"yz-application-text\"\n (click)=\"attachNav('mine')\">{{\n 'mode.nav.mine' | i18n\n }}</div>\n <div\n data-event-id=\"_nav_topic\"\n [attr.data-name]=\"nav.name | i18n\"\n class=\"yz-application-text\"\n *ngFor=\"let nav of state.topics\"\n (click)=\"attachNav('other', nav)\"\n >{{ nav.name | i18n }}</div\n >\n </div>\n <div nz-col [nzSpan]=\"21\" [ngSwitch]=\"state.topic\" class=\"yz-application-container\">\n <div *ngIf=\"state.type === 'all'\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"ld\"></ng-template>\n </div>\n <div *ngIf=\"state.type === 'mine'\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"ld\"></ng-template>\n </div>\n <div *ngIf=\"state.type === 'other'\" class=\"yz-application-list\">\n <div class=\"yz-application-list-item\">\n <ul>\n <li\n data-event-id=\"_nav_item\"\n [attr.data-name]=\"nav.name | i18n\"\n *ngFor=\"let nav of state.list\"\n (click)=\"open(nav)\"\n >\n <a href=\"javascript:;\">\n <h4>{{ nav.name | i18n }}</h4>\n <p>{{ nav.intro | i18n }}</p>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <!-- header end-->\n `\n})\nexport class LayoutNavApplicationComponent implements OnInit, OnDestroy {\n private bis: YunzaiBusinessConfig = BUSINESS_DEFAULT_CONFIG;\n private $destroy = new Subject();\n state: LayoutNavApplicationState = {\n active: false,\n type: 'all',\n topic: undefined,\n topics: [],\n list: [],\n search: null,\n };\n\n get showAllMenu(): boolean {\n if (this.bis.nav) return this.bis.nav!.all!\n return true\n }\n\n get showMineMenu(): boolean {\n if (this.bis.nav) return this.bis.nav!.mine!\n return true\n }\n\n constructor(\n private i18n: YunzaiI18NService,\n private http: _HttpClient,\n private inject: Injector,\n // @ts-ignore\n private configService: YunzaiConfigService,\n @Inject(WINDOW) private win: any\n ) {\n this.bis = mergeBisConfig(configService)\n }\n\n ngOnInit(): void {\n this.fetchAllTopic();\n this.attachNav('all');\n this.win.addEventListener(\"click\", (event: any) => {\n const {target} = event\n const btn = this.win.document.getElementById(\"navBtn\")\n const dropdown = this.win.document.getElementById(\"navDropdown\")\n if (btn && dropdown && !dropdown.contains(target) && !btn.contains(target)) {\n this.state.active = false\n }\n })\n }\n\n fetchAllTopic(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topics = getTopics()!;\n }\n\n attachNav(type: 'all' | 'mine' | 'other', topic?: YunzaiNavTopic): void {\n this.state.type = type;\n this.clearSearch();\n if (type === 'all') {\n this.displayAllNav();\n }\n if (type === 'mine') {\n this.displayMineNav();\n }\n if (type === 'other' && topic) {\n this.displayOtherNav(topic);\n }\n }\n\n clearSearch(): void {\n this.state.search = null;\n }\n\n displayAllNav(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!;\n }\n\n displayMineNav(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!\n .filter((topic: YunzaiNavTopic) => {\n topic.children = topic.children.filter((child: YunzaiNavTopic) => {\n return child.auth;\n });\n return topic;\n })\n .filter((topic: YunzaiNavTopic) => {\n return topic.children.length > 0;\n });\n }\n\n displayOtherNav(topic: YunzaiNavTopic): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topic = topic;\n const temp: YunzaiNavTopic[] = getTopics()!;\n this.state.list = temp.filter(t => t.key === topic.key)[0].children;\n }\n\n diffChange(flag?: boolean): void {\n if (flag) {\n this.state.active = flag;\n } else {\n this.state.active = !this.state.active;\n }\n }\n\n open(topic: YunzaiNavTopic): void {\n if (topic.key) {\n this.http\n .post(`/app-manager/web-scan/save`, {\n appId: topic.key,\n createDate: new Date()\n })\n .pipe(takeUntil(this.$destroy))\n .subscribe();\n }\n switch (topic.target) {\n case 'href':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n case 'blank':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n case 'target':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n default:\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n }\n }\n\n onSearch(): void {\n const [, getTopics] = useLocalStorageHeader();\n const temp: YunzaiNavTopic[] = getTopics()!;\n if (this.state.search) {\n this.state.list = temp\n .filter((topic: YunzaiNavTopic) => {\n if (this.i18n.fanyi(topic.name).includes(this.state.search!)) {\n return topic;\n } else {\n topic.children = topic.children.filter((child: YunzaiNavTopic) => {\n return this.i18n.fanyi(child.name).includes(this.state.search!);\n });\n return topic;\n }\n })\n .filter((topic: YunzaiNavTopic) => {\n return topic.children.length > 0;\n });\n } else {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!;\n }\n }\n\n ngOnDestroy() {\n this.$destroy.complete()\n }\n\n}\n","import {Component, Injector, OnDestroy, OnInit} from '@angular/core';\n\nimport { _HttpClient } from '@yelon/theme';\nimport { LayoutNavGroupState, useLocalStorageHeader, WINDOW, YunzaiNavTopic } from '@yelon/util';\nimport {Subject, takeUntil} from \"rxjs\";\n\n@Component({\n selector: `layout-nav-group`,\n template: `\n <div class=\"yz-application-group\">\n <nz-tabset>\n <nz-tab *ngFor=\"let menu of state.topics\" [nzTitle]=\"groupTitleTpl\">\n <ng-template #groupTitleTpl>\n <a\n data-event-id=\"_nav_topic\"\n [attr.data-name]=\"menu.name | i18n\"\n nz-dropdown\n [nzDropdownMenu]=\"menuTpl\"\n [nzTrigger]=\"'click'\"\n [nzOverlayClassName]=\"'yz-application-dropdown'\"\n >\n <i nz-icon *ngIf=\"menu.icon\" [nzType]=\"menu.icon\" nzTheme=\"outline\"></i>\n {{ menu.name | i18n }}\n <i *ngIf=\"menu.children && menu.children.length > 0\" nz-icon nzType=\"down\" nzTheme=\"outline\"></i>\n </a>\n <nz-dropdown-menu #menuTpl=\"nzDropdownMenu\">\n <ul nz-menu nzSelectable *ngIf=\"menu.children && menu.children.length > 0\">\n <ng-container *ngFor=\"let item of menu.children\">\n <li data-event-id=\"_nav_item\" [attr.data-name]=\"item.name | i18n\" nz-menu-item (click)=\"open(item)\">\n <i nz-icon *ngIf=\"item.icon\" [nzType]=\"item.icon\" nzTheme=\"outline\"></i>{{ item.name | i18n }}\n </li>\n </ng-container>\n </ul>\n </nz-dropdown-menu>\n </ng-template>\n </nz-tab>\n </nz-tabset>\n </div>\n `\n})\nexport class LayoutNavGroupComponent implements OnInit,OnDestroy {\n private $destroy = new Subject()\n state: LayoutNavGroupState = {\n topics: []\n };\n\n constructor(\n private inject: Injector,\n private http: _HttpClient\n ) {}\n\n ngOnInit(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topics = getTopics() || [];\n }\n\n open(topic: YunzaiNavTopic): void {\n if (topic.key) {\n this.http\n .post(`/app-manager/web-scan/save`, {\n appId: topic.key,\n createDate: new Date()\n })\n .pipe(takeUntil(this.$destroy))\n .subscribe();\n }\n switch (topic.target) {\n case 'href':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n case 'blank':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n case 'target':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n default:\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n }\n }\n\n ngOnDestroy() {\n this.$destroy.complete()\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: `layout-nav-tile`,\n template: `<template></template>`\n})\nexport class LayoutNavTileComponent {\n constructor() {}\n}\n","import { Component, Inject, OnInit } from '@angular/core';\n\nimport { StompService } from '@yelon/socket';\nimport { LayoutDefaultOptions, LayoutDisplayService } from '@yelon/theme/layout-default';\nimport {\n WINDOW,\n hasFavicon,\n log,\n setFavicon,\n NavType,\n LayoutBasicAside,\n YunzaiProjectInfo,\n useLocalStorageCurrent,\n useLocalStorageProjectInfo,\n useLocalStorageHeaderType,\n useLocalStorageDefaultRoute\n} from '@yelon/util';\n\nimport { LayoutBasicState } from './interface';\n\n@Component({\n selector: `yz-layout-basic`,\n template: `\n <layout-default [options]=\"options\" [asideUser]=\"asideUserTpl\" [content]=\"displayReusetab ? contentTpl : noneTpl\">\n <!-- nav -->\n <layout-default-header-item direction=\"left\">\n <ng-container [ngSwitch]=\"navType\">\n <ng-container *ngSwitchCase=\"NavType.APPLICATION\">\n <layout-nav-application></layout-nav-application>\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.GROUP\">\n <layout-nav-group></layout-nav-group>\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.TILE\">\n <layout-nav-tile></layout-nav-tile>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <layout-nav-application></layout-nav-application>\n </ng-container>\n </ng-container>\n </layout-default-header-item>\n <!-- nav end -->\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yunzai-notify></yunzai-notify>\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yunzai-theme-btn></yunzai-theme-btn>\n </layout-default-header-item>\n <!-- setting -->\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <div\n data-event-id=\"_nav_settings\"\n layout-default-header-item-trigger\n nz-dropdown\n [nzDropdownMenu]=\"settingsMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <i nz-icon nzType=\"setting\"></i>\n </div>\n <nz-dropdown-menu #settingsMenu=\"nzDropdownMenu\">\n <div nz-menu style=\"width: 200px;\">\n <div data-event-id=\"_nav_mode\" nz-menu-item>\n {{ 'mode.nav' | i18n }}\n </div>\n\n <div\n data-event-id=\"_nav_mode\"\n data-type=\"application\"\n nz-menu-item\n (click)=\"onNavTypeChange(NavType.APPLICATION)\"\n >\n <i nz-icon nzType=\"appstore\" class=\"mr-sm\"></i>\n {{ 'mode.nav.application' | i18n }}\n </div>\n <div data-event-id=\"_nav_mode\" data-type=\"group\" nz-menu-item (click)=\"onNavTypeChange(NavType.GROUP)\">\n <i nz-icon nzType=\"group\" class=\"mr-sm\"></i>\n {{ 'mode.nav.group' | i18n }}\n </div>\n <div data-event-id=\"_nav_mode\" data-type=\"tile\" nz-menu-item (click)=\"onNavTypeChange(NavType.TILE)\">\n <i nz-icon nzType=\"appstore\" class=\"mr-sm\"></i>\n {{ 'mode.nav.tile' | i18n }}\n </div>\n <div data-event-id=\"_nav_fullscreen\" nz-menu-item>\n <yunzai-fullscreen></yunzai-fullscreen>\n </div>\n <div data-event-id=\"_nav_clearstorage\" nz-menu-item>\n <yunzai-clearstorage></yunzai-clearstorage>\n </div>\n <div data-event-id=\"_nav_i18n\" nz-menu-item>\n <yunzai-i18n></yunzai-i18n>\n </div>\n </div>\n </nz-dropdown-menu>\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\">\n <yunzai-user></yunzai-user>\n </layout-default-header-item>\n <!-- setting end -->\n </layout-default>\n <ng-template #asideUserTpl>\n <div\n data-event-id=\"_route_user\"\n nz-dropdown\n nzTrigger=\"click\"\n [nzDropdownMenu]=\"userMenu\"\n class=\"yunzai-default__aside-user\"\n >\n <nz-avatar class=\"yunzai-default__aside-user-avatar\" [nzSrc]=\"aside.icon\"></nz-avatar>\n <div class=\"yunzai-default__aside-user-info\">\n <strong>{{ aside.name | i18n }}</strong>\n <p class=\"mb0\">{{ aside.intro | i18n }}</p>\n </div>\n </div>\n <nz-dropdown-menu #userMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li data-event-id=\"_route_backhome\" nz-menu-item routerLink=\"/\">{{ 'back.home' | i18n }}</li>\n </ul>\n </nz-dropdown-menu>\n </ng-template>\n <ng-template #contentTpl>\n <reuse-tab #reuseTab [ngStyle]=\"reusetabCSS\"></reuse-tab>\n <router-outlet (activate)=\"reuseTab.activate($event)\" (attach)=\"reuseTab.activate($event)\"></router-outlet>\n </ng-template>\n <ng-template #noneTpl>\n <router-outlet></router-outlet>\n </ng-template>\n `\n})\nexport class YunzaiLayoutBasicComponent implements OnInit {\n public NavType = NavType;\n private state: LayoutBasicState = {\n options: {\n logoExpanded: `./assets/logo-full.svg`,\n logoCollapsed: `./assets/logo.svg`\n },\n aside: {\n name: '',\n intro: '',\n icon: ''\n },\n display: {\n nav: true,\n aside: true,\n reusetab: true\n },\n navType: NavType.APPLICATION,\n };\n\n get options(): LayoutDefaultOptions {\n return this.state.options;\n }\n\n get navType(): NavType {\n return this.state.navType;\n }\n\n get aside(): LayoutBasicAside {\n return this.state.aside;\n }\n\n get displayReusetab(): boolean {\n return this.state.display.reusetab;\n }\n\n get reusetabCSS(): any {\n let cascadingStyleSheet = {};\n if (!this.state.display.nav) {\n cascadingStyleSheet = {\n ...cascadingStyleSheet,\n top: '0px'\n };\n }\n if (!this.state.display.aside) {\n cascadingStyleSheet = {\n ...cascadingStyleSheet,\n left: '24px'\n };\n }\n return cascadingStyleSheet;\n }\n\n constructor(\n private layoutDisplayService: LayoutDisplayService,\n private stompService: StompService,\n @Inject(WINDOW) private win: typeof window\n ) {}\n\n ngOnInit(): void {\n this.initLogo();\n this.initFavicon();\n this.initNavType();\n this.initAside();\n this.addLayoutDisplayListener();\n this.stompService.listen();\n this.toIndex();\n }\n\n initFavicon(): void {\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n if (projectInfo.faviconUrl) {\n hasFavicon(projectInfo.faviconUrl).then((has: boolean) => {\n if (has) {\n setFavicon(projectInfo.faviconUrl);\n } else {\n setFavicon('./assets/favicon.ico');\n }\n });\n }\n }\n\n initAside(): void {\n const [, getCurrent] = useLocalStorageCurrent();\n const aside: LayoutBasicAside = getCurrent()!;\n this.state.aside = { ...aside };\n }\n\n initLogo(): void {\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n this.state.options.logoExpanded = projectInfo.maxLogoUrl ? projectInfo.maxLogoUrl : `./assets/logo-full.svg`;\n this.state.options.logoCollapsed = projectInfo.miniLogoUrl ? projectInfo.miniLogoUrl : `./assets/logo.svg`;\n }\n\n initNavType(): void {\n const [, getHeaderType] = useLocalStorageHeaderType();\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const navType: NavType | null = getHeaderType();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n if (navType !== null) {\n this.state.navType = navType;\n return;\n }\n let fetchedNavType: any;\n if (projectInfo.headerStyle && projectInfo.headerStyle.length > 0) {\n fetchedNavType = projectInfo.headerStyle.pop()?.value;\n }\n // default value\n if (!fetchedNavType) {\n fetchedNavType = NavType.APPLICATION;\n }\n this.state.navType = fetchedNavType;\n }\n\n toIndex(): void {\n const [, getDefaultRoute] = useLocalStorageDefaultRoute();\n const defaultRoute = getDefaultRoute()!;\n log('YunzaiLayoutBasicComponent: ', `todo: the default route was ${defaultRoute}, 但是还没想好如何实现.`);\n }\n\n onNavTypeChange(type: NavType): void {\n const [setHeaderType] = useLocalStorageHeaderType();\n setHeaderType(type);\n this.win.location.reload();\n }\n\n addLayoutDisplayListener(): void {\n this.layoutDisplayService.listen('reuseTab', (display: boolean) => {\n this.state.display.reusetab = display;\n });\n this.layoutDisplayService.listen('nav', (display: boolean) => {\n this.state.display.nav = display;\n });\n\n this.layoutDisplayService.listen('aside', (display: boolean) => {\n this.state.display.aside = display;\n });\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n CanActivateChild,\n Router,\n RouterStateSnapshot,\n UrlTree\n} from '@angular/router';\nimport {Observable} from 'rxjs';\n\nimport {Menu} from '@yelon/theme';\nimport {\n deepCopy,\n log,\n YunzaiBusinessConfig,\n YunzaiConfigService,\n PathToRegexpService,\n useLocalStorageUser,\n YunzaiUser\n} from '@yelon/util';\nimport {NzSafeAny} from 'ng-zorro-antd/core/types';\n\nimport {BUSINESS_DEFAULT_CONFIG, mergeBisConfig} from './bis.config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ActGuard implements CanActivate, CanActivateChild {\n private bis: YunzaiBusinessConfig = BUSINESS_DEFAULT_CONFIG;\n private menus: NzSafeAny[] = [];\n private links: string[] = [];\n\n constructor(\n private configService: YunzaiConfigService,\n private pathToRegexp: PathToRegexpService,\n private router: Router\n ) {\n log('act: ');\n this.bis = mergeBisConfig(this.configService);\n log('act: config ', this.bis);\n const [, getUser] = useLocalStorageUser();\n const user: YunzaiUser = getUser()!;\n log('act: user ', user);\n // @ts-ignore\n this.menus = deepCopy((user.menu as any) || []).filter(\n (m: Menu) => m.systemCode && m.systemCode === this.bis.systemCode\n ) as Menu[];\n log('act: menus ', this.menus);\n this.getAllLinks(this.menus, this.links);\n log('act: links ', this.links);\n }\n\n canActivate(\n _: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n log('act: can activate ', state);\n if (this.preHandle(state)) {\n return true;\n }\n log('act: can activate child prehandle success');\n let canactivate = false;\n this.links.forEach((link: string) => {\n const regexp: RegExp = this.pathToRegexp.stringToRegexp(link, null, null);\n log(`act: ${link} test ${state.url.split('?')[0]}`);\n if (regexp.test(state.url.split('?')[0])) {\n canactivate = true;\n log(`act: test value ${canactivate}`);\n return;\n }\n });\n if (canactivate) {\n log(`act: test sucess`);\n return true;\n } else {\n log(`act: test error`);\n this.router.navigate(['displayIndex']);\n return false;\n }\n }\n\n canActivateChild(\n _: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n log('act: can activate child ', state);\n if (this.preHandle(state)) {\n return true;\n }\n log('act: can activate child prehandle success');\n\n let canactivate = false;\n this.links.forEach((link: string) => {\n if (link === state.url.split('?')[0]) {\n canactivate = true\n return\n }\n const regexp: RegExp = this.pathToRegexp.stringToRegexp(link, null, null);\n if (regexp.test(state.url.split('?')[0])) {\n log(`act: ${link} test ${state.url.split('?')[0]}`);\n canactivate = true;\n log(`act: test value ${canactivate}`);\n return;\n }\n });\n if (canactivate) {\n log(`act: test sucess`);\n return true;\n } else {\n log(`act: test error`);\n this.router.navigate(['displayIndex']);\n return false;\n }\n }\n\n preHandle(state: RouterStateSnapshot): boolean {\n return (\n state.url.includes('error') ||\n state.url.includes('exception') ||\n state.url.includes('displayIndex') ||\n state.url === '' ||\n state.url === null ||\n state.url === '/' ||\n state.url.includes('iframePage')\n );\n }\n\n getAllLinks(menu: Menu[], links: string[]): void {\n menu.forEach((sider: Menu) => {\n if (sider.link) {\n links.push(sider.link);\n }\n if (sider.children && sider.children.length > 0) {\n this.getAllLinks(sider.children, links);\n }\n });\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { combineLatest, map, mergeMap, Observable, of } from 'rxjs';\n\nimport { ITokenModel, ITokenService, YA_SERVICE_TOKEN } from '@yelon/auth';\nimport { _HttpClient } from '@yelon/theme';\nimport {\n log,\n useLocalStorageHeader,\n useLocalStorageProjectInfo,\n useLocalStorageTenant,\n useLocalStorageUser,\n WINDOW,\n YunzaiBusinessConfig,\n YunzaiConfigService\n} from '@yelon/util';\n\nimport { mergeBisConfig } from './bis.config';\n\n@Injectable({ providedIn: 'root' })\nexport class YunzaiAuthService {\n private config: YunzaiBusinessConfig;\n\n constructor(private injector: Injector) {\n this.config = mergeBisConfig(this.configService);\n }\n\n private get configService(): YunzaiConfigService {\n return this.injector.get(YunzaiConfigService);\n }\n\n private get tokenService(): ITokenService {\n return this.injector.get(YA_SERVICE_TOKEN);\n }\n\n private get httpClient(): _HttpClient {\n return this.injector.get(_HttpClient);\n }\n\n askToken(): Observable<ITokenModel> {\n log('yz.auth.service: ', 'askToken');\n if (this.config.loginForm) {\n return this.fetchTokenByUP();\n } else {\n return this.fetchTokenByCas();\n }\n }\n\n fetchTokenByUP(): Observable<ITokenModel> {\n log('yz.auth.service: ', 'fetchTokenByUP');\n return this.httpClient.post(`/auth/oauth/token?_allow_anonymous=true`, this.config.loginForm).pipe(\n map((response: any) => {\n return response;\n })\n );\n }\n\n fetchTokenByCas(): Observable<ITokenModel> {\n log('yz.auth.service: ', 'fetchTokenByCas');\n const uri = encodeURIComponent(this.injector.get(WINDOW).location.href);\n return this.httpClient\n .get(`/cas-proxy/app/validate_full?callback=${uri}&_allow_anonymous=true×tamp=${new Date().getTime()}`)\n .pipe(\n map((response: any) => {\n switch (response.errcode) {\n case 2000:\n return response.data;\n case 2001:\n this.injector.get(WINDOW).location.href = response.msg;\n throw Error(\"Cookie Error: Can't find Cas Cookie,So jump to login!\");\n default:\n if (response.data) {\n console.error(response.data);\n throw Error(response.data);\n } else if (response.msg) {\n console.error(response.msg);\n throw Error(response.msg);\n } else {\n console.error('cas unknown error');\n throw Error('Unknown Error: Cas auth exception!');\n }\n }\n })\n );\n }\n\n login(): Observable<void> {\n log('yz.auth.service: ', 'login white login form->', this.config.loginForm);\n return this.askToken().pipe(\n mergeMap(token => {\n log('yz.auth.service: get token->', token);\n this.configService.set('auth', {\n token_send_key: 'Authorization',\n token_send_template: `${token.token_type} \\${access_token}`,\n token_send_place: 'header'\n });\n log('yz.auth.service: ', 'set token');\n this.tokenService.set(token);\n return of(null);\n }),\n mergeMap(() => this.cacheInit())\n );\n }\n\n cacheInit(): Observable<void> {\n log('yz.auth.service: ', 'cacheInit');\n const [setTenant] = useLocalStorageTenant();\n const [setUser] = useLocalStorageUser();\n const [setHeader] = useLocalStorageHeader();\n const [setProject] = useLocalStorageProjectInfo();\n return combineLatest([\n this.httpClient.get(`/auth/user`),\n this.httpClient.get(`/auth/allheader/v2`),\n this.httpClient.get(`/app-manager/project/info`)\n ]).pipe(\n map(([user, header, project]) => {\n log('yz.auth.service: ', 'set user');\n setUser(user.principal);\n log('yz.auth.service: ', 'set tenant');\n setTenant(user.tenantId);\n log('yz.auth.service: ', 'set header');\n setHeader(header.data);\n log('yz.auth.service: ', 'set project');\n setProject(project.data);\n return void 0;\n })\n );\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpErrorResponse,\n HttpHeaders,\n HttpResponse,\n HttpResponseBase\n} from '@angular/common/http';\nimport { Injectable, Injector } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, of, throwError, catchError, filter, mergeMap, switchMap, take, Observable } from 'rxjs';\n\nimport { YA_SERVICE_TOKEN, ITokenService, ALLOW_ANONYMOUS } from '@yelon/auth';\nimport { YUNZAI_I18N_TOKEN, _HttpClient } from '@yelon/theme';\nimport { WINDOW } from '@yelon/util';\nimport { YunzaiBusinessConfig, YunzaiConfigService } from '@yelon/util/config';\nimport { log } from '@yelon/util/other';\nimport { NzNotificationService } from 'ng-zorro-antd/notification';\n\nimport { mergeBisConfig } from './bis.config';\n\nconst CODEMESSAGE: { [key: number]: string } = {\n 200: '服务器成功返回请求的数据。',\n 201: '新建或修改数据成功。',\n 202: '一个请求已经进入后台排队(异步任务)。',\n 204: '删除数据成功。',\n 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',\n 401: '用户没有权限(令牌、用户名、密码错误)。',\n 403: '用户得到授权,但是访问是被禁止的。',\n 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',\n 406: '请求的格式不可得。',\n 410: '请求的资源被永久删除,且不会再得到的。',\n 422: '当创建一个对象时,发生一个验证错误。',\n 500: '服务器发生错误,请检查服务器。',\n 502: '网关错误。',\n 503: '服务不可用,服务器暂时过载或维护。',\n 504: '网关超时。'\n};\n\n@Injectable()\nclass YunzaiDefaultInterceptor implements HttpInterceptor {\n private jump = false;\n private refreshToking = false;\n private refreshToken$: BehaviorSubject<any> = new BehaviorSubject<any>(null);\n\n private get notification(): NzNotificationService {\n return this.injector.get(NzNotificationService);\n }\n\n private get tokenSrv(): ITokenService {\n return this.injector.get(YA_SERVICE_TOKEN);\n }\n\n private get http(): _HttpClient {\n return this.injector.get(_HttpClient);\n }\n\n private get config(): YunzaiBusinessConfig {\n return mergeBisConfig(this.injector.get(YunzaiConfigService));\n }\n\n private goTo(url: string): void {\n setTimeout(() => this.injector.get(Router).navigateByUrl(url));\n }\n\n constructor(private injector: Injector) {\n if (this.config.refreshTokenType === 'auth-refresh') {\n console.error(\"can't use auth-refresh, please change yz.default.interceptor to default.interceptor!\");\n }\n }\n\n private checkStatus(ev: HttpResponseBase): void {\n if ((ev.status >= 200 && ev.status < 300) || ev.status === 401) {\n return;\n }\n\n if (ev instanceof HttpErrorResponse && (ev.error.message || ev.error.errorMessage)) {\n if (ev.error.errorMessage) {\n this.notification.error(`发生了一些错误 `, ev.error.errorMessage);\n } else {\n this.notification.error(`发生了一些错误 `, ev.error.message);\n }\n return;\n }\n\n if (ev instanceof HttpResponse && ev.body.errorMessage) {\n this.notification.error(`发生了一些错误 `, ev.body.errorMessage);\n return;\n }\n const errortext = CODEMESSAGE[ev.status] || ev.statusText;\n this.notification.error(`请求错误 ${ev.status}: ${ev.url}`, errortext);\n }\n\n private ToLogin(): void {\n this.notification.error(`未登录或登录状态已过期,5秒后将跳转到登录页面。`, ``);\n setTimeout(() => {\n localStorage.clear();\n this.injector.get(WINDOW).location.href = `${this.config.baseUrl}/cas-proxy/app/logout`;\n }, 5000);\n }\n\n private reAttachToken(req: HttpRequest<any>): HttpRequest<any> {\n const token = this.tokenSrv.get()?.access_token;\n return req.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`\n }\n });\n }\n\n private refreshTokenRequest(): Observable<any> {\n const model = this.tokenSrv.get();\n const form = new FormData();\n form.set('refresh_token', model?.refresh_token!);\n form.set('grant_type', 'refresh_token');\n form.set('scope', 'webapp');\n log('yz.default.interceptor: use the refresh token to request a new token', model?.refresh_token);\n return this.http.post(`/auth/oauth/getOrCreateToken/webapp`, form);\n }\n\n private tryRefreshToken(ev: HttpResponseBase, req: HttpRequest<any>, next: HttpHandler): Observable<any> {\n // 连刷新Token的请求都错了,那就是真错了\n if (['/auth/oauth/getOrCreateToken/webapp'].some(url => req.url.includes(url))) {\n this.ToLogin();\n return throwError(() => ev);\n }\n\n // 正在刷新token,所有其他请求排队\n if (this.refreshToking) {\n return this.refreshToken$.pipe(\n filter(v => !!v),\n take(1),\n switchMap(() => next.handle(this.reAttachToken(req)))\n );\n }\n\n //尝试调用刷新 Token\n this.refreshToking = true;\n this.refreshToken$.next(null);\n\n // 处理Token\n return this.refreshTokenRequest().pipe(\n switchMap(res => {\n log('yz.default.interceptor: refresh token accessed -> ', res);\n // 重新保存新 token\n this.tokenSrv.set(res);\n // 通知后续请求继续执行\n this.refreshToking = false;\n this.refreshToken$.next(res);\n // 重新发起请求\n return next.handle(this.reAttachToken(req));\n }),\n catchError(err => {\n this.refreshToking = false;\n this.ToLogin();\n return throwError(() => err);\n })\n );\n }\n\n private getAdditionalHeaders(headers?: HttpHeaders): { [name: string]: string } {\n const res: { [name: string]: string } = {};\n const lang = this.injector.get(YUNZAI_I18N_TOKEN).currentLang;\n if (!headers?.has('Accept-Language') && lang) {\n res['Accept-Language'] = lang;\n }\n return res;\n }\n\n private handleData(ev: HttpResponseBase, req: HttpRequest<any>, next: HttpHandler): Observable<any> {\n this.checkStatus(ev);\n switch (ev.status) {\n case 200:\n return of(ev);\n case 401:\n log(\"http401: \",req.url)\n if (this.config.refreshTokenEnabled && this.config.refreshTokenType === 're-request') {\n const unAuthorizationReq = req.clone();\n unAuthorizationReq.headers.delete('Authorization');\n return this.tryRefreshToken(ev, unAuthorizationReq, next);\n }\n this.ToLogin();\n break;\n case 403:\n case 404:\n case 500:\n if (this.jump) {\n this.goTo(`/exception/${ev.status}`);\n }\n break;\n default:\n if (ev instanceof HttpErrorResponse) {\n console.warn(\n '未可知错误,大部分是由于后端不支持跨域CORS或无效配置引起,请参考 https://ng.yunzainfo.com/docs/server 解决跨域问题',\n ev\n );\n }\n break;\n }\n if (ev instanceof HttpErrorResponse) {\n return throwError(() => ev);\n } else {\n return of(ev);\n }\n }\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n if (req.context.get(ALLOW_ANONYMOUS)) return next.handle(req);\n log('yz.default.interceptor.ts: ', 'request ', req);\n // 统一加前缀\n let url = req.url;\n if (!url.startsWith('https://') && !url.startsWith('http://')) {\n url = this.config.baseUrl + url;\n }\n if (url.includes('.json') && url.includes('assets')) {\n url = req.url;\n }\n // if (url.includes('i18n')) return next.handle(req);\n // 加入语言头\n const newReq = req.clone({ url, setHeaders: this.getAdditionalHeaders(req.headers) });\n return next.handle(newReq).pipe(\n mergeMap(ev => {\n // 允许统一对请求错误处理\n if (ev instanceof HttpResponseBase) {\n return this.handleData(ev, newReq, next);\n }\n // 若一切都正常,则后续操作\n return of(ev);\n }),\n catchError((err: HttpErrorResponse) => this.handleData(err, newReq, next))\n );\n }\n}\n\nexport { YunzaiDefaultInterceptor as YzDefaultInterceptor, YunzaiDefaultInterceptor };\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { YunzaiSharedYelonModule } from '@yelon/bcs/yunzai-shared-yelon';\nimport { YunzaiSharedZorroModule } from '@yelon/bcs/yunzai-shared-zorro';\nimport { YUNZAI_THEME_BTN_KEYS } from '@yelon/theme/theme-btn';\n\nimport { YunzaiLayoutBasicComponent } from './layout-basic/layout-basic.component';\nimport { LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent } from './layout-nav';\nimport {\n YunzaiClearStorageComponent,\n YunzaiFullScreenComponent,\n YunzaiI18NComponent,\n YunzaiNotifyComponent,\n YunzaiThemBtnComponent,\n YunzaiUserComponent\n} from './widgets';\n\nconst WIDGETS = [\n YunzaiClearStorageComponent,\n YunzaiFullScreenComponent,\n YunzaiI18NComponent,\n YunzaiNotifyComponent,\n YunzaiThemBtnComponent,\n YunzaiUserComponent\n];\n\nconst LAYOUT_NAV_COMPONENTS = [LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent];\n\nconst COMPONENTS = [YunzaiLayoutBasicComponent];\n\n@NgModule({\n imports: [\n HttpClientModule,\n CommonModule,\n FormsModule,\n RouterModule,\n ReactiveFormsModule,\n YunzaiSharedYelonModule,\n YunzaiSharedZorroModule\n ],\n providers: [\n {\n provide: YUNZAI_THEME_BTN_KEYS,\n useValue: 'site-theme'\n }\n ],\n declarations: [...COMPONENTS, ...WIDGETS, ...LAYOUT_NAV_COMPONENTS],\n exports: [...COMPONENTS, ...WIDGETS, ...LAYOUT_NAV_COMPONENTS]\n})\nexport class YunzaiLayoutModule {}\n","/*\n * Automatically generated by 'ng g ng-yunzai:plugin icon'\n * @see https://ng.yunzainfo.com/cli/plugin#icon\n */\n\nimport {\n AccountBookTwoTone,\n AccountBookFill,\n AccountBookOutline,\n AlertTwoTone,\n AlertFill,\n AlibabaOutline,\n AimOutline,\n AlipayCircleFill,\n AlertOutline,\n AlignCenterOutline,\n AlipayCircleOutline,\n AlipayOutline,\n AlignLeftOutline,\n AlignRightOutline,\n AmazonOutline,\n AliwangwangOutline,\n AliyunOutline,\n AlipaySquareFill,\n AmazonCircleFill,\n AndroidFill,\n AliwangwangFill,\n AntCloudOutline,\n AmazonSquareFill,\n AndroidOutline,\n ApartmentOutline,\n ApiTwoTone,\n ApiFill,\n ApiOutline,\n AntDesignOutline,\n AppstoreAddOutline,\n AppstoreFill,\n AppleOutline,\n AppstoreOutline,\n ArrowDownOutline,\n AppleFill,\n ArrowsAltOutline,\n AppstoreTwoTone,\n ArrowUpOutline,\n AreaChartOutline,\n ArrowLeftOutline,\n AudioFill,\n ArrowRightOutline,\n AudioTwoTone,\n AuditOutline,\n AudioMutedOutline,\n BackwardFill,\n AudioOutline,\n BackwardOutline,\n BankFill,\n BarcodeOutline,\n BellFill,\n BankTwoTone,\n BarsOutline,\n BankOutline,\n BehanceCircleFill,\n BehanceSquareFill,\n BoldOutline,\n BellOutline,\n BehanceOutline,\n BlockOutline,\n BehanceSquareOutline,\n BgColorsOutline,\n BellTwoTone,\n BarChartOutline,\n BookTwoTone,\n BookFill,\n BorderOuterOutline,\n BorderLeftOutline,\n BorderBottomOutline,\n BorderHorizontalOutline,\n BorderTopOutline,\n BorderOutline,\n BorderInnerOutline,\n BorderRightOutline,\n BoxPlotOutline,\n BoxPlotFill,\n BoxPlotTwoTone,\n BookOutline,\n BorderlessTableOutline,\n BorderVerticleOutline,\n BuildTwoTone,\n BuildOutline,\n BugFill,\n BugOutline,\n BugTwoTone,\n BulbFill,\n BulbTwoTone,\n BuildFill,\n BulbOutline,\n CalculatorFill,\n CalculatorTwoTone,\n CalendarFill,\n CalendarOutline,\n CalculatorOutline,\n CalendarTwoTone,\n CameraOutline,\n CameraFill,\n CameraTwoTone,\n CarTwoTone,\n CaretDownOutline,\n CarOutline,\n CaretLeftFill,\n CarFill,\n CaretRightOutline,\n CaretDownFill,\n CaretUpOutline,\n CaretRightFill,\n CarryOutFill,\n CarryOutOutline,\n CaretLeftOutline,\n CaretUpFill,\n BranchesOutline,\n CarryOutTwoTone,\n CheckCircleFill,\n CheckCircleOutline,\n CheckSquareOutline,\n CheckCircleTwoTone,\n CiCircleTwoTone,\n CheckOutline,\n CheckSquareTwoTone,\n CiOutline,\n CheckSquareFill,\n CiTwoTone,\n ChromeOutline,\n ClockCircleOutline,\n CiCircleOutline,\n ChromeFill,\n ClearOutline,\n CloseCircleTwoTone,\n CiCircleFill,\n CloseCircleOutline,\n ClockCircleFill,\n CloseCircleFill,\n ClockCircleTwoTone,\n CloseOutline,\n CloseSquareOutline,\n CloseSquareFill,\n CloudFill,\n CloseSquareTwoTone,\n CloudDownloadOutline,\n CloudTwoTone,\n CloudServerOutline,\n CloudUploadOutline,\n CloudSyncOutline,\n ClusterOutline,\n CodeSandboxCircleFill,\n CodeFill,\n CodepenCircleOutline,\n CloudOutline,\n CodeSandboxOutline,\n CodeOutline,\n CodeSandboxSquareFill,\n CodeTwoTone,\n CodepenSquareFill,\n CodepenOutline,\n CoffeeOutline,\n ColumnWidthOutline,\n CompressOutline,\n ColumnHeightOutline,\n CodepenCircleFill,\n CompassTwoTone,\n CommentOutline,\n ContainerFill,\n CompassOutline,\n ConsoleSqlOutline,\n ContactsOutline,\n ContainerTwoTone,\n ContactsFill,\n ContactsTwoTone,\n ContainerOutline,\n ControlFill,\n CopyFill,\n CopyOutline,\n CompassFill,\n CopyTwoTone,\n CopyrightOutline,\n CopyrightCircleOutline,\n ControlTwoTone,\n ControlOutline,\n CreditCardFill,\n CopyrightTwoTone,\n CrownFill,\n CopyrightCircleFill,\n CrownOutline,\n CustomerServiceTwoTone,\n CreditCardOutline,\n CustomerServiceOutline,\n DashboardTwoTone,\n CrownTwoTone,\n CreditCardTwoTone,\n CustomerServiceFill,\n DashboardFill,\n DashOutline,\n DatabaseOutline,\n DatabaseTwoTone,\n DatabaseFill,\n DashboardOutline,\n DeleteTwoTone,\n DeleteRowOutline,\n DeleteColumnOutline,\n DeliveredProcedureOutline,\n DeleteOutline,\n CopyrightCircleTwoTone,\n DesktopOutline,\n DeleteFill,\n DiffOutline,\n DiffFill,\n DeploymentUnitOutline,\n DiffTwoTone,\n DingtalkOutline,\n DollarCircleFill,\n DislikeFill,\n DingtalkSquareFill,\n DisconnectOutline,\n DollarCircleTwoTone,\n DollarOutline,\n DingtalkCircleFill,\n DislikeTwoTone,\n DollarTwoTone,\n DownCircleFill,\n DislikeOutline,\n DollarCircleOutline,\n DoubleLeftOutline,\n DownSquareFill,\n DownOutline,\n DownSquareOutline,\n DownSquareTwoTone,\n DownCircleTwoTone,\n DoubleRightOutline,\n DownCircleOutline,\n DownloadOutline,\n DotChartOutline,\n DribbbleCircleFill,\n DribbbleOutline,\n DribbbleSquareOutline,\n DropboxCircleFill,\n DingdingOutline,\n EditOutline,\n DribbbleSquareFill,\n DropboxSquareFill,\n EllipsisOutline,\n EnvironmentFill,\n EditFill,\n EnterOutline,\n EuroCircleFill,\n EuroTwoTone,\n EuroCircleOutline,\n EditTwoTone,\n EuroOutline,\n EnvironmentTwoTone,\n ExclamationCircleFill,\n ExpandAltOutline,\n EuroCircleTwoTone,\n ExclamationCircleTwoTone,\n EnvironmentOutline,\n ExperimentOutline,\n ExperimentFill,\n ExpandOutline,\n ExceptionOutline,\n ExportOutline,\n ExperimentTwoTone,\n ExclamationCircleOutline,\n ExclamationOutline,\n EyeFill,\n EyeInvisibleFill,\n EyeInvisibleTwoTone,\n DropboxOutline,\n DragOutline,\n FacebookOutline,\n FacebookFill,\n EyeTwoTone,\n EyeOutline,\n FastForwardFill,\n FieldBinaryOutline,\n FieldNumberOutline,\n FastBackwardOutline,\n FileAddFill,\n FastBackwardFill,\n FileExcelFill,\n FastForwardOutline,\n FieldStringOutline,\n FileDoneOutline,\n FileAddTwoTone,\n FileExcelTwoTone,\n FileExclamationFill,\n FileAddOutline,\n FileExclamationOutline,\n FieldTimeOutline,\n FileImageTwoTone,\n FileExcelOutline,\n FileExclamationTwoTone,\n FileImageFill,\n FileGifOutline,\n FileFill,\n FileMarkdownTwoTone,\n FileMarkdownOutline,\n FallOutline,\n FileImageOutline,\n EyeInvisibleOutline,\n FilePdfOutline,\n FileSearchOutline,\n FilePptTwoTone,\n FilePdfTwoTone,\n FileJpgOutline,\n FileTextFill,\n FilePptOutline,\n FileSyncOutline,\n FilePptFill,\n FileUnknownOutline,\n FileProtectOutline,\n FileTextTwoTone,\n FileWordFill,\n FileUnknownTwoTone,\n FileWordTwoTone,\n FileUnknownFill,\n FileTextOutline,\n FileZipFill,\n FilterTwoTone,\n FilterFill,\n FileWordOutline,\n FireOutline,\n FireTwoTone,\n FileZipOutline,\n FilterOutline,\n FlagTwoTone,\n FileTwoTone,\n FilePdfFill,\n FileOutline,\n FileMarkdownFill,\n FileZipTwoTone,\n FlagOutline,\n FolderAddTwoTone,\n FolderOpenFill,\n FireFill,\n FlagFill,\n FolderOutline,\n FolderViewOutline,\n FolderTwoTone,\n FontColorsOutline,\n FolderOpenTwoTone,\n FolderFill,\n ForwardOutline,\n FolderOpenOutline,\n ForkOutline,\n ForwardFill,\n FormatPainterOutline,\n FormatPainterFill,\n FormOutline,\n FrownFill,\n FrownTwoTone,\n FullscreenOutline,\n FontSizeOutline,\n FundFill,\n FunctionOutline,\n FundViewOutline,\n FullscreenExitOutline,\n GifOutline,\n FundProjectionScreenOutline,\n FundTwoTone,\n FolderAddFill,\n FunnelPlotTwoTone,\n GiftOutline,\n FunnelPlotFill,\n FundOutline,\n FrownOutline,\n GithubOutline,\n GoldFill,\n FolderAddOutline,\n GitlabFill,\n GiftFill,\n GitlabOutline,\n GoldTwoTone,\n GoogleCircleFill,\n GiftTwoTone,\n GooglePlusCircleFill,\n GoldOutline,\n GithubFill,\n GoogleOutline,\n GooglePlusOutline,\n GoogleSquareFill,\n GoldenFill,\n HddTwoTone,\n GooglePlusSquareFill,\n GlobalOutline,\n HeartOutline,\n HeartTwoTone,\n GroupOutline,\n HeartFill,\n HeatMapOutline,\n GatewayOutline,\n FunnelPlotOutline,\n HddFill,\n HomeFill,\n HighlightFill,\n HomeOutline,\n HistoryOutline,\n HighlightOutline,\n HddOutline,\n HourglassFill,\n HomeTwoTone,\n HourglassTwoTone,\n Html5Outline,\n Html5Fill,\n IdcardFill,\n Html5TwoTone,\n HourglassOutline,\n IdcardTwoTone,\n IdcardOutline,\n IeOutline,\n IeCircleFill,\n IeSquareFill,\n InboxOutline,\n ImportOutline,\n InfoCircleOutline,\n InfoCircleTwoTone,\n InsertRowAboveOutline,\n InsertRowRightOutline,\n InfoCircleFill,\n InfoOutline,\n InsertRowBelowOutline,\n HighlightTwoTone,\n InsuranceFill,\n InstagramFill,\n InteractionFill,\n InsertRowLeftOutline,\n InstagramOutline,\n InteractionOutline,\n ItalicOutline,\n InteractionTwoTone,\n LayoutOutline,\n IssuesCloseOutline,\n LayoutFill,\n LaptopOutline,\n LeftCircleFill,\n LayoutTwoTone,\n KeyOutline,\n LeftOutline,\n LeftCircleOutline,\n LeftSquareOutline,\n LeftSquareFill,\n LeftCircleTwoTone,\n LikeFill,\n LeftSquareTwoTone,\n LineOutline,\n LikeTwoTone,\n LinkedinOutline,\n LineChartOutline,\n LineHeightOutline,\n LinkedinFill,\n LinkOutline,\n LikeOutline,\n InsuranceOutline,\n Loading3QuartersOutline,\n LockFill,\n InsuranceTwoTone,\n MacCommandOutline,\n LockTwoTone,\n LoadingOutline,\n MailOutline,\n LoginOutline,\n MedicineBoxOutline,\n MailFill,\n MailTwoTone,\n MacCommandFill,\n ManOutline,\n MedicineBoxFill,\n MedicineBoxTwoTone,\n MediumCircleFill,\n MediumOutline,\n MehFill,\n MediumWorkmarkOutline,\n MenuFoldOutline,\n MehOutline,\n MediumSquareFill,\n MessageTwoTone,\n MehTwoTone,\n MergeCellsOutline,\n MinusCircleFill,\n MenuOutline,\n MenuUnfoldOutline,\n MessageFill,\n MinusCircleTwoTone,\n LockOutline,\n MinusOutline,\n MinusCircleOutline,\n LogoutOutline,\n MessageOutline,\n MoneyCollectFill,\n MinusSquareOutline,\n MinusSquareTwoTone,\n MobileOutline,\n MobileTwoTone,\n MoneyCollectOutline,\n MoreOutline,\n NotificationFill,\n NotificationOutline,\n MoneyCollectTwoTone,\n NodeIndexOutline,\n NodeExpandOutline,\n MonitorOutline,\n OrderedListOutline,\n NodeCollapseOutline,\n NumberOutline,\n PaperClipOutline,\n NotificationTwoTone,\n PauseCircleFill,\n PartitionOutline,\n PauseOutline,\n OneToOneOutline,\n PayCircleOutline,\n PayCircleFill,\n MinusSquareFill,\n PauseCircleOutline,\n PauseCircleTwoTone,\n PicCenterOutline,\n PicRightOutline,\n PercentageOutline,\n MobileFill,\n PictureOutline,\n PictureFill,\n PhoneTwoTone,\n PhoneFill,\n PieChartFill,\n PictureTwoTone,\n PieChartOutline,\n PlaySquareFill,\n PlayCircleTwoTone,\n PlayCircleFill,\n PlusCircleFill,\n PlaySquareTwoTone,\n PlaySquareOutline,\n PlayCircleOutline,\n PieChartTwoTone,\n PlusCircleOutline,\n PlusSquareFill,\n PoundCircleFill,\n PlusSquareOutline,\n PlusOutline,\n PoundOutline,\n PoundCircleOutline,\n PlusSquareTwoTone,\n PlusCircleTwoTone,\n PoweroffOutline,\n PoundCircleTwoTone,\n PhoneOutline,\n PrinterFill,\n PicLeftOutline,\n ProjectTwoTone,\n PrinterOutline,\n ProjectFill,\n ProfileOutline,\n ProfileTwoTone,\n ProjectOutline,\n PropertySafetyFill,\n PullRequestOutline,\n PropertySafetyOutline,\n PushpinOutline,\n PushpinTwoTone,\n PropertySafetyTwoTone,\n PushpinFill,\n QqOutline,\n QqCircleFill,\n QrcodeOutline,\n QqSquareFill,\n QuestionCircleTwoTone,\n QuestionCircleFill,\n RadarChartOutline,\n RadiusUprightOutline,\n QuestionCircleOutline,\n QuestionOutline,\n ReadFill,\n RadiusUpleftOutline,\n RadiusBottomleftOutline,\n RadiusSettingOutline,\n RadiusBottomrightOutline,\n ProfileFill,\n PrinterTwoTone,\n ReadOutline,\n ReconciliationFill,\n ReloadOutline,\n ReconciliationOutline,\n RedEnvelopeTwoTone,\n RedditCircleFill,\n RedoOutline,\n RedEnvelopeFill,\n RedditOutline,\n RestTwoTone,\n RightCircleOutline,\n RestOutline,\n RedditSquareFill,\n RestFill,\n RightCircleTwoTone,\n RightOutline,\n RightSquareFill,\n RightCircleFill,\n RightSquareOutline,\n RetweetOutline,\n RiseOutline,\n RightSquareTwoTone,\n RobotFill,\n RocketOutline,\n RobotOutline,\n RocketTwoTone,\n RocketFill,\n RedEnvelopeOutline,\n RollbackOutline,\n RotateRightOutline,\n RotateLeftOutline,\n ReconciliationTwoTone,\n SafetyCertificateTwoTone,\n SaveOutline,\n SafetyOutline,\n SaveFill,\n SaveTwoTone,\n ScheduleFill,\n SafetyCertificateOutline,\n ScanOutline,\n ScheduleTwoTone,\n SearchOutline,\n ScheduleOutline,\n SecurityScanTwoTone,\n SecurityScanOutline,\n ScissorOutline,\n SelectOutline,\n SecurityScanFill,\n SendOutline,\n SettingOutline,\n SettingTwoTone,\n SettingFill,\n ShareAltOutline,\n ShopOutline,\n ShopFill,\n ShopTwoTone,\n ShrinkOutline,\n ShakeOutline,\n ShoppingOutline,\n ShoppingCartOutline,\n ShoppingFill,\n SisternodeOutline,\n ShoppingTwoTone,\n SafetyCertificateFill,\n SkinOutline,\n SignalFill,\n SketchOutline,\n SkinTwoTone,\n SketchSquareFill,\n SkypeFill,\n SkinFill,\n SlackCircleFill,\n SlackSquareFill,\n SlidersTwoTone,\n SkypeOutline,\n SlidersFill,\n SlackSquareOutline,\n SmallDashOutline,\n SmileTwoTone,\n SlidersOutline,\n SnippetsFill,\n SnippetsOutline,\n SmileOutline,\n SolutionOutline,\n SlackOutline,\n SnippetsTwoTone,\n SoundTwoTone,\n SortAscendingOutline,\n SoundFill,\n SortDescendingOutline,\n SmileFill,\n SoundOutline,\n SplitCellsOutline,\n SketchCircleFill,\n StarOutline,\n StockOutline,\n StarTwoTone,\n StepForwardFill,\n StarFill,\n StepBackwardFill,\n StepForwardOutline,\n StopFill,\n SubnodeOutline,\n SwapLeftOutline,\n StopOutline,\n StopTwoTone,\n SwapRightOutline,\n SwapOutline,\n SwitcherTwoTone,\n SwitcherOutline,\n SyncOutline,\n StrikethroughOutline,\n SwitcherFill,\n TagOutline,\n TabletTwoTone,\n TabletOutline,\n TabletFill,\n TableOutline,\n TagsFill,\n TagFill,\n TagsTwoTone,\n TaobaoCircleOutline,\n StepBackwardOutline,\n TagsOutline,\n TagTwoTone,\n TaobaoOutline,\n ThunderboltOutline,\n TaobaoSquareFill,\n TeamOutline,\n TaobaoCircleFill,\n ThunderboltTwoTone,\n ToolFill,\n ThunderboltFill,\n ToTopOutline,\n ToolOutline,\n ToolTwoTone,\n TrademarkCircleFill,\n TrophyFill,\n TrademarkCircleTwoTone,\n TransactionOutline,\n TrademarkCircleOutline,\n TranslationOutline,\n TwitterCircleFill,\n TrophyOutline,\n TrademarkOutline,\n TrophyTwoTone,\n TwitterSquareFill,\n UnlockFill,\n TwitterOutline,\n UnderlineOutline,\n UndoOutline,\n UpCircleFill,\n UngroupOutline,\n UnlockTwoTone,\n UnlockOutline,\n UpOutline,\n UsbFill,\n UpCircleOutline,\n UnorderedListOutline,\n UpCircleTwoTone,\n UpSquareFill,\n UpSquareOutline,\n UserAddOutline,\n UsbTwoTone,\n UsergroupDeleteOutline,\n UpSquareTwoTone,\n UserOutline,\n UsbOutline,\n UserDeleteOutline,\n UserSwitchOutline,\n VerticalLeftOutline,\n VerticalAlignBottomOutline,\n VerifiedOutline,\n UsergroupAddOutline,\n UploadOutline,\n VerticalAlignMiddleOutline,\n VerticalAlignTopOutline,\n VerticalRightOutline,\n VideoCameraOutline,\n VideoCameraAddOutline,\n VideoCameraTwoTone,\n VideoCameraFill,\n WalletOutline,\n WalletFill,\n WarningFill,\n WarningOutline,\n WechatOutline,\n WalletTwoTone,\n WeiboCircleFill,\n WarningTwoTone,\n WeiboSquareFill,\n WeiboOutline,\n WeiboSquareOutline,\n WeiboCircleOutline,\n WechatFill,\n WhatsAppOutline,\n WifiOutline,\n WomanOutline,\n YoutubeFill,\n YahooOutline,\n WindowsFill,\n WindowsOutline,\n YoutubeOutline,\n YuqueOutline,\n ZhihuCircleFill,\n YuqueFill,\n ZhihuOutline,\n ZhihuSquareFill,\n ZoomInOutline,\n ZoomOutOutline,\n YahooFill\n} from '@ant-design/icons-angular/icons';\n\nexport const ICONS = [\n AccountBookTwoTone,\n AccountBookFill,\n AccountBookOutline,\n AlertTwoTone,\n AlertFill,\n AlibabaOutline,\n AimOutline,\n AlipayCircleFill,\n AlertOutline,\n AlignCenterOutline,\n AlipayCircleOutline,\n AlipayOutline,\n AlignLeftOutline,\n AlignRightOutline,\n AmazonOutline,\n AliwangwangOutline,\n AliyunOutline,\n AlipaySquareFill,\n AmazonCircleFill,\n AndroidFill,\n AliwangwangFill,\n AntCloudOutline,\n AmazonSquareFill,\n AndroidOutline,\n ApartmentOutline,\n ApiTwoTone,\n ApiFill,\n ApiOutline,\n AntDesignOutline,\n AppstoreAddOutline,\n AppstoreFill,\n AppleOutline,\n AppstoreOutline,\n ArrowDownOutline,\n AppleFill,\n ArrowsAltOutline,\n AppstoreTwoTone,\n ArrowUpOutline,\n AreaChartOutline,\n ArrowLeftOutline,\n AudioFill,\n ArrowRightOutline,\n AudioTwoTone,\n AuditOutline,\n AudioMutedOutline,\n BackwardFill,\n AudioOutline,\n BackwardOutline,\n BankFill,\n BarcodeOutline,\n BellFill,\n BankTwoTone,\n BarsOutline,\n BankOutline,\n BehanceCircleFill,\n BehanceSquareFill,\n BoldOutline,\n BellOutline,\n BehanceOutline,\n BlockOutline,\n BehanceSquareOutline,\n BgColorsOutline,\n BellTwoTone,\n BarChartOutline,\n BookTwoTone,\n BookFill,\n BorderOuterOutline,\n BorderLeftOutline,\n BorderBottomOutline,\n BorderHorizontalOutline,\n BorderTopOutline,\n BorderOutline,\n BorderInnerOutline,\n BorderRightOutline,\n BoxPlotOutline,\n BoxPlotFill,\n BoxPlotTwoTone,\n BookOutline,\n BorderlessTableOutline,\n BorderVerticleOutline,\n BuildTwoTone,\n BuildOutline,\n BugFill,\n BugOutline,\n BugTwoTone,\n BulbFill,\n BulbTwoTone,\n BuildFill,\n BulbOutline,\n CalculatorFill,\n CalculatorTwoTone,\n CalendarFill,\n CalendarOutline,\n CalculatorOutline,\n CalendarTwoTone,\n CameraOutline,\n CameraFill,\n CameraTwoTone,\n CarTwoTone,\n CaretDownOutline,\n CarOutline,\n CaretLeftFill,\n CarFill,\n CaretRightOutline,\n CaretDownFill,\n CaretUpOutline,\n CaretRightFill,\n CarryOutFill,\n CarryOutOutline,\n CaretLeftOutline,\n CaretUpFill,\n BranchesOutline,\n CarryOutTwoTone,\n CheckCircleFill,\n CheckCircleOutline,\n CheckSquareOutline,\n CheckCircleTwoTone,\n CiCircleTwoTone,\n CheckOutline,\n CheckSquareTwoTone,\n CiOutline,\n CheckSquareFill,\n CiTwoTone,\n ChromeOutline,\n ClockCircleOutline,\n CiCircleOutline,\n ChromeFill,\n ClearOutline,\n CloseCircleTwoTone,\n CiCircleFill,\n CloseCircleOutline,\n ClockCircleFill,\n CloseCircleFill,\n ClockCircleTwoTone,\n CloseOutline,\n CloseSquareOutline,\n CloseSquareFill,\n CloudFill,\n CloseSquareTwoTone,\n CloudDownloadOutline,\n CloudTwoTone,\n CloudServerOutline,\n CloudUploadOutline,\n CloudSyncOutline,\n ClusterOutline,\n CodeSandboxCircleFill,\n CodeFill,\n CodepenCircleOutline,\n CloudOutline,\n CodeSandboxOutline,\n CodeOutline,\n CodeSandboxSquareFill,\n CodeTwoTone,\n CodepenSquareFill,\n CodepenOutline,\n CoffeeOutline,\n ColumnWidthOutline,\n CompressOutline,\n ColumnHeightOutline,\n CodepenCircleFill,\n CompassTwoTone,\n CommentOutline,\n ContainerFill,\n CompassOutline,\n ConsoleSqlOutline,\n ContactsOutline,\n ContainerTwoTone,\n ContactsFill,\n ContactsTwoTone,\n ContainerOutline,\n ControlFill,\n CopyFill,\n CopyOutline,\n CompassFill,\n CopyTwoTone,\n CopyrightOutline,\n CopyrightCircleOutline,\n ControlTwoTone,\n ControlOutline,\n CreditCardFill,\n CopyrightTwoTone,\n CrownFill,\n CopyrightCircleFill,\n CrownOutline,\n CustomerServiceTwoTone,\n CreditCardOutline,\n CustomerServiceOutline,\n DashboardTwoTone,\n CrownTwoTone,\n CreditCardTwoTone,\n CustomerServiceFill,\n DashboardFill,\n DashOutline,\n DatabaseOutline,\n DatabaseTwoTone,\n DatabaseFill,\n DashboardOutline,\n DeleteTwoTone,\n DeleteRowOutline,\n DeleteColumnOutline,\n DeliveredProcedureOutline,\n DeleteOutline,\n CopyrightCircleTwoTone,\n DesktopOutline,\n DeleteFill,\n DiffOutline,\n DiffFill,\n DeploymentUnitOutline,\n DiffTwoTone,\n DingtalkOutline,\n DollarCircleFill,\n DislikeFill,\n DingtalkSquareFill,\n DisconnectOutline,\n DollarCircleTwoTone,\n DollarOutline,\n DingtalkCircleFill,\n DislikeTwoTone,\n DollarTwoTone,\n DownCircleFill,\n DislikeOutline,\n DollarCircleOutline,\n DoubleLeftOutline,\n DownSquareFill,\n DownOutline,\n DownSquareOutline,\n DownSquareTwoTone,\n DownCircleTwoTone,\n DoubleRightOutline,\n DownCircleOutline,\n DownloadOutline,\n DotChartOutline,\n DribbbleCircleFill,\n DribbbleOutline,\n DribbbleSquareOutline,\n DropboxCircleFill,\n DingdingOutline,\n EditOutline,\n DribbbleSquareFill,\n DropboxSquareFill,\n EllipsisOutline,\n EnvironmentFill,\n EditFill,\n EnterOutline,\n EuroCircleFill,\n EuroTwoTone,\n EuroCircleOutline,\n EditTwoTone,\n EuroOutline,\n EnvironmentTwoTone,\n ExclamationCircleFill,\n ExpandAltOutline,\n EuroCircleTwoTone,\n ExclamationCircleTwoTone,\n EnvironmentOutline,\n ExperimentOutline,\n ExperimentFill,\n ExpandOutline,\n ExceptionOutline,\n ExportOutline,\n ExperimentTwoTone,\n ExclamationCircleOutline,\n ExclamationOutline,\n EyeFill,\n EyeInvisibleFill,\n EyeInvisibleTwoTone,\n DropboxOutline,\n DragOutline,\n FacebookOutline,\n FacebookFill,\n EyeTwoTone,\n EyeOutline,\n FastForwardFill,\n FieldBinaryOutline,\n FieldNumberOutline,\n FastBackwardOutline,\n FileAddFill,\n FastBackwardFill,\n FileExcelFill,\n FastForwardOutline,\n FieldStringOutline,\n FileDoneOutline,\n FileAddTwoTone,\n FileExcelTwoTone,\n FileExclamationFill,\n FileAddOutline,\n FileExclamationOutline,\n FieldTimeOutline,\n FileImageTwoTone,\n FileExcelOutline,\n FileExclamationTwoTone,\n FileImageFill,\n FileGifOutline,\n FileFill,\n FileMarkdownTwoTone,\n FileMarkdownOutline,\n FallOutline,\n FileImageOutline,\n EyeInvisibleOutline,\n FilePdfOutline,\n FileSearchOutline,\n FilePptTwoTone,\n FilePdfTwoTone,\n FileJpgOutline,\n FileTextFill,\n FilePptOutline,\n FileSyncOutline,\n FilePptFill,\n FileUnknownOutline,\n FileProtectOutline,\n FileTextTwoTone,\n FileWordFill,\n FileUnknownTwoTone,\n FileWordTwoTone,\n FileUnknownFill,\n FileTextOutline,\n FileZipFill,\n FilterTwoTone,\n FilterFill,\n FileWordOutline,\n FireOutline,\n FireTwoTone,\n FileZipOutline,\n FilterOutline,\n FlagTwoTone,\n FileTwoTone,\n FilePdfFill,\n FileOutline,\n FileMarkdownFill,\n FileZipTwoTone,\n FlagOutline,\n FolderAddTwoTone,\n FolderOpenFill,\n FireFill,\n FlagFill,\n FolderOutline,\n FolderViewOutline,\n FolderTwoTone,\n FontColorsOutline,\n FolderOpenTwoTone,\n FolderFill,\n ForwardOutline,\n FolderOpenOutline,\n ForkOutline,\n ForwardFill,\n FormatPainterOutline,\n FormatPainterFill,\n FormOutline,\n FrownFill,\n FrownTwoTone,\n FullscreenOutline,\n FontSizeOutline,\n FundFill,\n FunctionOutline,\n FundViewOutline,\n FullscreenExitOutline,\n GifOutline,\n FundProjectionScreenOutline,\n FundTwoTone,\n FolderAddFill,\n FunnelPlotTwoTone,\n GiftOutline,\n FunnelPlotFill,\n FundOutline,\n FrownOutline,\n GithubOutline,\n GoldFill,\n FolderAddOutline,\n GitlabFill,\n GiftFill,\n GitlabOutline,\n GoldTwoTone,\n GoogleCircleFill,\n GiftTwoTone,\n GooglePlusCircleFill,\n GoldOutline,\n GithubFill,\n GoogleOutline,\n GooglePlusOutline,\n GoogleSquareFill,\n GoldenFill,\n HddTwoTone,\n GooglePlusSquareFill,\n GlobalOutline,\n HeartOutline,\n HeartTwoTone,\n GroupOutline,\n HeartFill,\n HeatMapOutline,\n GatewayOutline,\n FunnelPlotOutline,\n HddFill,\n HomeFill,\n HighlightFill,\n HomeOutline,\n HistoryOutline,\n HighlightOutline,\n HddOutline,\n HourglassFill,\n HomeTwoTone,\n HourglassTwoTone,\n Html5Outline,\n Html5Fill,\n IdcardFill,\n Html5TwoTone,\n HourglassOutline,\n IdcardTwoTone,\n IdcardOutline,\n IeOutline,\n IeCircleFill,\n IeSquareFill,\n InboxOutline,\n ImportOutline,\n InfoCircleOutline,\n InfoCircleTwoTone,\n InsertRowAboveOutline,\n InsertRowRightOutline,\n InfoCircleFill,\n InfoOutline,\n InsertRowBelowOutline,\n HighlightTwoTone,\n InsuranceFill,\n InstagramFill,\n InteractionFill,\n InsertRowLeftOutline,\n InstagramOutline,\n InteractionOutline,\n ItalicOutline,\n InteractionTwoTone,\n LayoutOutline,\n IssuesCloseOutline,\n LayoutFill,\n LaptopOutline,\n LeftCircleFill,\n LayoutTwoTone,\n KeyOutline,\n LeftOutline,\n LeftCircleOutline,\n LeftSquareOutline,\n LeftSquareFill,\n LeftCircleTwoTone,\n LikeFill,\n LeftSquareTwoTone,\n LineOutline,\n LikeTwoTone,\n LinkedinOutline,\n LineChartOutline,\n LineHeightOutline,\n LinkedinFill,\n LinkOutline,\n LikeOutline,\n InsuranceOutline,\n Loading3QuartersOutline,\n LockFill,\n InsuranceTwoTone,\n MacCommandOutline,\n LockTwoTone,\n LoadingOutline,\n MailOutline,\n LoginOutline,\n MedicineBoxOutline,\n MailFill,\n MailTwoTone,\n MacCommandFill,\n ManOutline,\n MedicineBoxFill,\n MedicineBoxTwoTone,\n MediumCircleFill,\n MediumOutline,\n MehFill,\n MediumWorkmarkOutline,\n MenuFoldOutline,\n MehOutline,\n MediumSquareFill,\n MessageTwoTone,\n MehTwoTone,\n MergeCellsOutline,\n MinusCircleFill,\n MenuOutline,\n MenuUnfoldOutline,\n MessageFill,\n MinusCircleTwoTone,\n LockOutline,\n MinusOutline,\n MinusCircleOutline,\n LogoutOutline,\n MessageOutline,\n MoneyCollectFill,\n MinusSquareOutline,\n MinusSquareTwoTone,\n MobileOutline,\n MobileTwoTone,\n MoneyCollectOutline,\n MoreOutline,\n NotificationFill,\n NotificationOutline,\n MoneyCollectTwoTone,\n NodeIndexOutline,\n NodeExpandOutline,\n MonitorOutline,\n OrderedListOutline,\n NodeCollapseOutline,\n NumberOutline,\n PaperClipOutline,\n NotificationTwoTone,\n PauseCircleFill,\n PartitionOutline,\n PauseOutline,\n OneToOneOutline,\n PayCircleOutline,\n PayCircleFill,\n MinusSquareFill,\n PauseCircleOutline,\n PauseCircleTwoTone,\n PicCenterOutline,\n PicRightOutline,\n PercentageOutline,\n MobileFill,\n PictureOutline,\n PictureFill,\n PhoneTwoTone,\n PhoneFill,\n PieChartFill,\n PictureTwoTone,\n PieChartOutline,\n PlaySquareFill,\n PlayCircleTwoTone,\n PlayCircleFill,\n PlusCircleFill,\n PlaySquareTwoTone,\n PlaySquareOutline,\n PlayCircleOutline,\n PieChartTwoTone,\n PlusCircleOutline,\n PlusSquareFill,\n PoundCircleFill,\n PlusSquareOutline,\n PlusOutline,\n PoundOutline,\n PoundCircleOutline,\n PlusSquareTwoTone,\n PlusCircleTwoTone,\n PoweroffOutline,\n PoundCircleTwoTone,\n PhoneOutline,\n PrinterFill,\n PicLeftOutline,\n ProjectTwoTone,\n PrinterOutline,\n ProjectFill,\n ProfileOutline,\n ProfileTwoTone,\n ProjectOutline,\n PropertySafetyFill,\n PullRequestOutline,\n PropertySafetyOutline,\n PushpinOutline,\n PushpinTwoTone,\n PropertySafetyTwoTone,\n PushpinFill,\n QqOutline,\n QqCircleFill,\n QrcodeOutline,\n QqSquareFill,\n QuestionCircleTwoTone,\n QuestionCircleFill,\n RadarChartOutline,\n RadiusUprightOutline,\n QuestionCircleOutline,\n QuestionOutline,\n ReadFill,\n RadiusUpleftOutline,\n RadiusBottomleftOutline,\n RadiusSettingOutline,\n RadiusBottomrightOutline,\n ProfileFill,\n PrinterTwoTone,\n ReadOutline,\n ReconciliationFill,\n ReloadOutline,\n ReconciliationOutline,\n RedEnvelopeTwoTone,\n RedditCircleFill,\n RedoOutline,\n RedEnvelopeFill,\n RedditOutline,\n RestTwoTone,\n RightCircleOutline,\n RestOutline,\n RedditSquareFill,\n RestFill,\n RightCircleTwoTone,\n RightOutline,\n RightSquareFill,\n RightCircleFill,\n RightSquareOutline,\n RetweetOutline,\n RiseOutline,\n RightSquareTwoTone,\n RobotFill,\n RocketOutline,\n RobotOutline,\n RocketTwoTone,\n RocketFill,\n RedEnvelopeOutline,\n RollbackOutline,\n RotateRightOutline,\n RotateLeftOutline,\n ReconciliationTwoTone,\n SafetyCertificateTwoTone,\n SaveOutline,\n SafetyOutline,\n SaveFill,\n SaveTwoTone,\n ScheduleFill,\n SafetyCertificateOutline,\n ScanOutline,\n ScheduleTwoTone,\n SearchOutline,\n ScheduleOutline,\n SecurityScanTwoTone,\n SecurityScanOutline,\n ScissorOutline,\n SelectOutline,\n SecurityScanFill,\n SendOutline,\n SettingOutline,\n SettingTwoTone,\n SettingFill,\n ShareAltOutline,\n ShopOutline,\n ShopFill,\n ShopTwoTone,\n ShrinkOutline,\n ShakeOutline,\n ShoppingOutline,\n ShoppingCartOutline,\n ShoppingFill,\n SisternodeOutline,\n ShoppingTwoTone,\n SafetyCertificateFill,\n SkinOutline,\n SignalFill,\n SketchOutline,\n SkinTwoTone,\n SketchSquareFill,\n SkypeFill,\n SkinFill,\n SlackCircleFill,\n SlackSquareFill,\n SlidersTwoTone,\n SkypeOutline,\n SlidersFill,\n SlackSquareOutline,\n SmallDashOutline,\n SmileTwoTone,\n SlidersOutline,\n SnippetsFill,\n SnippetsOutline,\n SmileOutline,\n SolutionOutline,\n SlackOutline,\n SnippetsTwoTone,\n SoundTwoTone,\n SortAscendingOutline,\n SoundFill,\n SortDescendingOutline,\n SmileFill,\n SoundOutline,\n SplitCellsOutline,\n SketchCircleFill,\n StarOutline,\n StockOutline,\n StarTwoTone,\n StepForwardFill,\n StarFill,\n StepBackwardFill,\n StepForwardOutline,\n StopFill,\n SubnodeOutline,\n SwapLeftOutline,\n StopOutline,\n StopTwoTone,\n SwapRightOutline,\n SwapOutline,\n SwitcherTwoTone,\n SwitcherOutline,\n SyncOutline,\n StrikethroughOutline,\n SwitcherFill,\n TagOutline,\n TabletTwoTone,\n TabletOutline,\n TabletFill,\n TableOutline,\n TagsFill,\n TagFill,\n TagsTwoTone,\n TaobaoCircleOutline,\n StepBackwardOutline,\n TagsOutline,\n TagTwoTone,\n TaobaoOutline,\n ThunderboltOutline,\n TaobaoSquareFill,\n TeamOutline,\n TaobaoCircleFill,\n ThunderboltTwoTone,\n ToolFill,\n ThunderboltFill,\n ToTopOutline,\n ToolOutline,\n ToolTwoTone,\n TrademarkCircleFill,\n TrophyFill,\n TrademarkCircleTwoTone,\n TransactionOutline,\n TrademarkCircleOutline,\n TranslationOutline,\n TwitterCircleFill,\n TrophyOutline,\n TrademarkOutline,\n TrophyTwoTone,\n TwitterSquareFill,\n UnlockFill,\n TwitterOutline,\n UnderlineOutline,\n UndoOutline,\n UpCircleFill,\n UngroupOutline,\n UnlockTwoTone,\n UnlockOutline,\n UpOutline,\n UsbFill,\n UpCircleOutline,\n UnorderedListOutline,\n UpCircleTwoTone,\n UpSquareFill,\n UpSquareOutline,\n UserAddOutline,\n UsbTwoTone,\n UsergroupDeleteOutline,\n UpSquareTwoTone,\n UserOutline,\n UsbOutline,\n UserDeleteOutline,\n UserSwitchOutline,\n VerticalLeftOutline,\n VerticalAlignBottomOutline,\n VerifiedOutline,\n UsergroupAddOutline,\n UploadOutline,\n VerticalAlignMiddleOutline,\n VerticalAlignTopOutline,\n VerticalRightOutline,\n VideoCameraOutline,\n VideoCameraAddOutline,\n VideoCameraTwoTone,\n VideoCameraFill,\n WalletOutline,\n WalletFill,\n WarningFill,\n WarningOutline,\n WechatOutline,\n WalletTwoTone,\n WeiboCircleFill,\n WarningTwoTone,\n WeiboSquareFill,\n WeiboOutline,\n WeiboSquareOutline,\n WeiboCircleOutline,\n WechatFill,\n WhatsAppOutline,\n WifiOutline,\n WomanOutline,\n YoutubeFill,\n YahooOutline,\n WindowsFill,\n WindowsOutline,\n YoutubeOutline,\n YuqueOutline,\n ZhihuCircleFill,\n YuqueFill,\n ZhihuOutline,\n ZhihuSquareFill,\n ZoomInOutline,\n ZoomOutOutline,\n YahooFill\n];\n","import {APP_INITIALIZER, Inject, Injectable} from '@angular/core';\nimport {Observable, mergeMap, of} from 'rxjs';\n\nimport {ACLService} from '@yelon/acl';\nimport {Menu, MenuService, SettingsService, TitleService, YUNZAI_I18N_TOKEN} from '@yelon/theme';\nimport {\n YunzaiMenu,\n WINDOW,\n YunzaiBusinessConfig,\n YunzaiConfigService,\n deepCopy,\n log,\n YunzaiMenuAttribute,\n useLocalStorageCurrent,\n useLocalStorageUser,\n useLocalStorageDefaultRoute\n} from '@yelon/util';\nimport {NzSafeAny} from 'ng-zorro-antd/core/types';\nimport {NzIconService} from 'ng-zorro-antd/icon';\n\nimport {BUSINESS_DEFAULT_CONFIG, mergeBisConfig} from './bis.config';\nimport {ICONS} from './icon/style-icons';\nimport {YunzaiAuthService} from './yunzai-auth.service';\nimport {YunzaiI18NService} from './yunzai-i18n.service';\n\n@Injectable()\nexport class YunzaiStartupService {\n private config: YunzaiBusinessConfig = BUSINESS_DEFAULT_CONFIG;\n\n constructor(\n iconSrv: NzIconService,\n private menuService: MenuService,\n @Inject(YUNZAI_I18N_TOKEN) private i18n: YunzaiI18NService,\n @Inject(WINDOW) private win: NzSafeAny,\n private settingService: SettingsService,\n private aclService: ACLService,\n private titleService: TitleService,\n private yzAuthService: YunzaiAuthService,\n private configService: YunzaiConfigService\n ) {\n this.config = mergeBisConfig(this.configService);\n iconSrv.addIcon(...ICONS);\n }\n\n load(): Observable<void> {\n log('startup.service: ', 'load');\n let defaultLang: string = this.settingService.layout.lang || this.i18n.defaultLang;\n return this.yzAuthService.login().pipe(\n mergeMap(() => {\n return this.i18n.loadLangData(defaultLang);\n }),\n mergeMap((langData) => {\n log('startup.service: ', 'set i18n, defaultLang->', defaultLang, ' langData->', langData);\n this.i18n.use(defaultLang!, langData);\n return of(void 0)\n }),\n mergeMap((v) => {\n this.systemInit();\n log('startup.service: preloader finish');\n if (this.win && this.win.appBootstrap) {\n this.win.appBootstrap();\n }\n return of(v);\n })\n )\n }\n\n systemInit(): void {\n log('startup.service: system init');\n const [setCurrent] = useLocalStorageCurrent();\n const [, getUser] = useLocalStorageUser();\n const [setDefaultRoute] = useLocalStorageDefaultRoute();\n const yunzaiUser = getUser()!;\n // @ts-ignore\n const yunzaiMenus: YunzaiMenu[] = deepCopy(yunzaiUser.menu).filter(\n m => m.systemCode && m.systemCode === this.config.systemCode\n );\n mapYzSideToYelonMenu(yunzaiMenus);\n const currentMenu = yunzaiMenus.pop();\n if (currentMenu) {\n this.settingService.setApp({name: currentMenu.text, description: currentMenu.intro});\n this.settingService.setUser({\n name: yunzaiUser.realname,\n avatar: `${this.config.baseUrl}/filecenter/file/${yunzaiUser.avatarId}` || '',\n email: yunzaiUser.email\n });\n this.titleService.default = currentMenu && currentMenu.text ? currentMenu.text : 'default application name';\n this.titleService.setTitle(currentMenu && currentMenu.text ? currentMenu.text : 'no title');\n const abilities: string[] = [];\n generateAbility([currentMenu], abilities, '');\n this.aclService.attachRole(\n yunzaiUser?.roles\n .map((role: NzSafeAny) => {\n return role.roleValue;\n })\n .filter((a: NzSafeAny) => !!a) || []\n );\n this.aclService.attachAbility(abilities);\n this.menuService.add([currentMenu as Menu]);\n setCurrent({\n name: currentMenu.text,\n intro: currentMenu.intro || '',\n icon: currentMenu.appIconUrl || './assets/tmp/img/avatar.jpg'\n });\n const attributes = currentMenu.attribute;\n if (attributes) {\n const attr: YunzaiMenuAttribute = JSON.parse(attributes);\n if (attr && attr.defaultRoute) {\n setDefaultRoute(attr.defaultRoute);\n } else {\n setDefaultRoute('/displayIndex');\n }\n } else {\n setDefaultRoute('/displayIndex');\n }\n }\n }\n}\n\nexport function mapYzSideToYelonMenu(menus: YunzaiMenu[]): void {\n menus.forEach(menu => {\n if (menu.children && menu.hideChildren) {\n menu.children.forEach(c => (c.hide = true));\n }\n menu.badgeDot = menu.badge_dot || null;\n menu.badgeStatus = menu.badge_status || null;\n menu.shortcutRoot = menu.shortcut_root || null;\n menu.reuse = true;\n if (menu.children) {\n mapYzSideToYelonMenu(menu.children);\n }\n });\n}\n\nexport function generateAbility(menus: YunzaiMenu[], abilities: string[], prefix: string): void {\n menus.forEach(menu => {\n if (menu.link) {\n prefix += menu.link;\n } else {\n prefix += '';\n }\n if (menu.menuAuths) {\n menu.menuAuths.forEach((a: string) => {\n abilities.push(`${prefix}:${a}`);\n abilities.push(a);\n });\n }\n\n if (menu.children) {\n generateAbility(menu.children, abilities, prefix);\n }\n });\n}\n\nexport function YunzaiStartupServiceFactory(startupService: YunzaiStartupService): () => Observable<void> {\n return () => startupService.load();\n}\n\n//@ts-ignore\nexport const YUNZAI_APPINIT_PROVIDES = [\n YunzaiStartupService,\n {\n provide: APP_INITIALIZER,\n useFactory: YunzaiStartupServiceFactory,\n deps: [YunzaiStartupService],\n multi: true\n }\n];\n","// 埋点转换表\nexport const HTML_NAMES_MAPPING = {\n _route_icon: '路由-图标',\n _route_link: '路由-跳转',\n _route_toggle: '路由-显示/隐藏',\n _route_group: '路由-分组',\n _route_user: '路由-用户头像',\n _route_backhome: '路由-返回首页',\n _nav_search: '导航-搜索',\n _nav_topic: '导航-主题',\n _nav_item: '导航-应用',\n _nav_notify: '导航-铃铛',\n _nav_msg: '导航-消息',\n _nav_todo: '导航-待办',\n _nav_notice: '导航-通知',\n _nav_clear_msg: '导航-清空消息',\n _nav_clear_todo: '导航-清空待办',\n _nav_clear_notice: '导航-清空通知',\n _nav_theme: '导航-主题',\n _nav_settings: '导航-设置',\n _nav_user: '导航-用户头像',\n _nav_lang: '导航-语言',\n _nav_logo: '导航-Logo',\n _nav_toggle: '导航-显示/隐藏',\n _nav_app: '导航-应用与服务',\n _reusetab: '多标签',\n _reusetab_refresh: '多标签-刷新',\n _reusetab_close: '多标签-关闭',\n _reusetab_closeOther: '多标签-关闭其他',\n _reusetab_closeRight: '多标签-关闭右侧',\n _reusetab_custom: '多标签-自定义'\n};\n","export class AnalysisAddon {\n static putValueInAnalysis(values: Record<any, any>) {\n if (!window) return\n // @ts-ignore\n if (!window['yunzai']) return\n // @ts-ignore\n if (window['yunzai']['extra']) {\n // @ts-ignore\n window['yunzai']['extra'] = {...window['yunzai']['extra'], ...values}\n }else{\n // @ts-ignore\n window['yunzai']['extra'] = {...values}\n }\n }\n}\n","import {Inject, inject, Injectable} from \"@angular/core\";\nimport {CanActivateChildFn, CanActivateFn} from \"@angular/router\";\nimport {\n deepCopy,\n PathToRegexpService,\n useLocalStorageUser,\n YunzaiBusinessConfig,\n YunzaiConfigService,\n YunzaiUser\n} from \"@yelon/util\";\nimport {Menu} from \"@yelon/theme\";\nimport {BUSINESS_DEFAULT_CONFIG, mergeBisConfig} from \"./bis.config\";\nimport {NzSafeAny} from \"ng-zorro-antd/core/types\";\nimport {AnalysisAddon} from \"./analysis.addon\";\nimport {ITokenService, YA_SERVICE_TOKEN} from \"@yelon/auth\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class YunzaiAnalysisAddonGuardService {\n\n private bis: YunzaiBusinessConfig = BUSINESS_DEFAULT_CONFIG;\n private menus: NzSafeAny[] = [];\n private links: Array<{ title: string, link: string }> = [];\n\n\n constructor(\n private configService: YunzaiConfigService,\n private pathToRegexp: PathToRegexpService,\n @Inject(YA_SERVICE_TOKEN) private tokenService: ITokenService,\n ) {\n this.bis = mergeBisConfig(this.configService);\n const [, getUser] = useLocalStorageUser();\n const user: YunzaiUser = getUser()!;\n // @ts-ignore\n this.menus = deepCopy((user.menu as any) || []).filter((m: Menu) => m.systemCode && m.systemCode === this.bis.systemCode) as Menu[];\n if (user) {\n AnalysisAddon.putValueInAnalysis({\n userid: user.id,\n realname: user.realname,\n usertype: user.userType,\n usercode: user.userCode,\n username: user.username,\n account: user.username,\n deptid: user.deptId,\n deptname: user.deptName,\n token: this.tokenService.get()?.access_token\n })\n }\n if (this.menus && this.menus.length > 0) {\n AnalysisAddon.putValueInAnalysis({system: (this.menus[0] as Menu).text})\n }\n this.getAllLinks(this.menus, this.links);\n }\n\n\n process(url: string): boolean {\n let flag = false;\n this.links.forEach((link) => {\n if (link.link === url.split('?')[0]) {\n flag = true\n AnalysisAddon.putValueInAnalysis({\n routename: link.title,\n routeurl: link.link\n })\n return\n }\n const regexp: RegExp = this.pathToRegexp.stringToRegexp(link, null, null);\n if (regexp.test(url.split('?')[0])) {\n flag = true\n AnalysisAddon.putValueInAnalysis({\n routename: link.title,\n routeurl: link.link\n })\n return;\n }\n });\n if (!flag) {\n AnalysisAddon.putValueInAnalysis({\n routename: url,\n routeurl: url\n })\n }\n return true\n }\n\n getAllLinks(menu: Menu[], links: Array<{ title: string, link: string }>): void {\n menu.forEach((sider: Menu) => {\n if (sider.link) {\n links.push({title: sider.text ? sider.text : sider.link, link: sider.link});\n }\n if (sider.children && sider.children.length > 0) {\n this.getAllLinks(sider.children, links);\n }\n });\n }\n}\n\n\nexport const analysisAddonCanActive: CanActivateFn = (_, state) => inject(YunzaiAnalysisAddonGuardService).process(state.url)\nexport const analysisAddonCanActiveChild: CanActivateChildFn = (_, state) => inject(YunzaiAnalysisAddonGuardService).process(state.url)\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i4","i5","i1","i3","zorroZhCN","dfZhCn","yelonZhCn","zorroZhTW","dfZhTw","yelonZhTw","zorroEnUS","dfEn","yelonEnUS","zorroElGR","dfEl","yelonElGR","zorroEsES","dfEs","yelonEsES","zorroFrFR","dfFr","yelonFrFR","zorroHrHR","dfHr","yelonHrHR","zorroItIT","dfIt","yelonItIT","zorroKoKR","dfKo","yelonKoKR","zorroPlPL","dfPl","yelonPlPL","zorroSlSI","dfSl","yelonSlSI","zorroTrTR","dfTr","yelonTrTR","map","i6","i7","i9","i10","i8","log","i11.YunzaiClearStorageComponent","i12.YunzaiFullScreenComponent","i13.YunzaiI18NComponent","i14.YunzaiNotifyComponent","i15.YunzaiThemBtnComponent","i16.YunzaiUserComponent","i17.LayoutNavApplicationComponent","i18.LayoutNavGroupComponent","i19.LayoutNavTileComponent","i20","YunzaiConfigService","i4.YunzaiAuthService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout.mjs","sources":["../../../../packages/bis/layout/widgets/yunzai-clear-storage.component.ts","../../../../packages/bis/layout/widgets/yunzai-fullscreen.component.ts","../../../../packages/bis/layout/yunzai-lang.ts","../../../../packages/bis/layout/yunzai-i18n.service.ts","../../../../packages/bis/layout/widgets/yunzai-i18n.component.ts","../../../../packages/bis/layout/widgets/yunzai-notify.component.ts","../../../../packages/bis/layout/widgets/yunzai-theme-btn.component.ts","../../../../packages/bis/layout/bis.config.ts","../../../../packages/bis/layout/widgets/yunzai-user.component.ts","../../../../packages/bis/layout/layout-nav/layout-nav-application.component.ts","../../../../packages/bis/layout/layout-nav/layout-nav-group.component.ts","../../../../packages/bis/layout/layout-nav/layout-nav-tile.component.ts","../../../../packages/bis/layout/layout-basic/layout-basic.component.ts","../../../../packages/bis/layout/yunzai-act.guard.ts","../../../../packages/bis/layout/yunzai-auth.service.ts","../../../../packages/bis/layout/yunzai-default.interceptor.ts","../../../../packages/bis/layout/yunzai-layout.module.ts","../../../../packages/bis/layout/icon/style-icons.ts","../../../../packages/bis/layout/yunzai-startup.service.ts","../../../../packages/bis/layout/html-names.ts","../../../../packages/bis/layout/yunzai-analysis-addon.guard.ts","../../../../packages/bis/layout/layout.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { NzModalService } from 'ng-zorro-antd/modal';\n\n@Component({\n selector: 'yunzai-clearstorage',\n template: `\n <i nz-icon nzType=\"tool\"></i>\n {{ 'storage.clear' | i18n }}\n `,\n host: {\n '[class.d-block]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiClearStorageComponent {\n constructor(\n private modalSrv: NzModalService,\n private messageSrv: NzMessageService\n ) {}\n\n @HostListener('click')\n _click(): void {\n this.modalSrv.confirm({\n nzTitle: 'Make sure clear all local storage?',\n nzOnOk: () => {\n localStorage.clear();\n this.messageSrv.success('Clear Finished!');\n }\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';\n\nimport screenfull from 'screenfull';\n\n@Component({\n selector: 'yunzai-fullscreen',\n template: `\n <i nz-icon [nzType]=\"status ? 'fullscreen-exit' : 'fullscreen'\"></i>\n {{ (status ? 'exitFullscreen' : 'fullscreen') | i18n }}\n `,\n host: {\n '[class.d-block]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiFullScreenComponent {\n status = false;\n\n @HostListener('window:resize')\n _resize(): void {\n this.status = screenfull.isFullscreen;\n }\n\n @HostListener('click')\n _click(): void {\n if (screenfull.isEnabled) {\n screenfull.toggle();\n }\n }\n}\n","import ngElGr from '@angular/common/locales/el';\nimport ngEn from '@angular/common/locales/en';\nimport ngEsEs from '@angular/common/locales/es';\nimport ngFr from '@angular/common/locales/fr';\nimport ngHr from '@angular/common/locales/hr';\nimport ngIt from '@angular/common/locales/it';\nimport ngKo from '@angular/common/locales/ko';\nimport ngPl from '@angular/common/locales/pl';\nimport ngSl from '@angular/common/locales/sl';\nimport ngTr from '@angular/common/locales/tr';\nimport ngZh from '@angular/common/locales/zh';\nimport ngZhTw from '@angular/common/locales/zh-Hant';\n\nimport {\n enUS as dfEn,\n zhCN as dfZhCn,\n zhTW as dfZhTw,\n el as dfEl,\n es as dfEs,\n fr as dfFr,\n hr as dfHr,\n it as dfIt,\n ko as dfKo,\n pl as dfPl,\n sl as dfSl,\n tr as dfTr\n} from 'date-fns/locale';\n\nimport {\n el_GR as yelonElGR,\n en_US as yelonEnUS,\n es_ES as yelonEsES,\n fr_FR as yelonFrFR,\n hr_HR as yelonHrHR,\n it_IT as yelonItIT,\n ko_KR as yelonKoKR,\n pl_PL as yelonPlPL,\n sl_SI as yelonSlSI,\n tr_TR as yelonTrTR,\n zh_CN as yelonZhCn,\n zh_TW as yelonZhTw\n} from '@yelon/theme';\nimport {\n el_GR as zorroElGR,\n en_US as zorroEnUS,\n es_ES as zorroEsES,\n fr_FR as zorroFrFR,\n hr_HR as zorroHrHR,\n it_IT as zorroItIT,\n ko_KR as zorroKoKR,\n pl_PL as zorroPlPL,\n sl_SI as zorroSlSI,\n tr_TR as zorroTrTR,\n zh_CN as zorroZhCN,\n zh_TW as zorroZhTW\n} from 'ng-zorro-antd/i18n';\n\nexport interface LangConfigData {\n abbr: string;\n text: string;\n ng: any;\n zorro: any;\n date: any;\n yelon: any;\n}\n\nexport const YUNZAI_LANGS: { [key: string]: LangConfigData } = {\n 'zh-CN': {\n text: '简体中文',\n ng: ngZh,\n zorro: zorroZhCN,\n date: dfZhCn,\n yelon: yelonZhCn,\n abbr: '🇨🇳'\n },\n 'zh-TW': {\n text: '繁体中文',\n ng: ngZhTw,\n zorro: zorroZhTW,\n date: dfZhTw,\n yelon: yelonZhTw,\n abbr: '🇭🇰'\n },\n 'en-US': {\n text: 'English',\n ng: ngEn,\n zorro: zorroEnUS,\n date: dfEn,\n yelon: yelonEnUS,\n abbr: '🇬🇧'\n },\n 'el-GR': {\n text: 'Ελληνικά',\n ng: ngElGr,\n zorro: zorroElGR,\n date: dfEl,\n yelon: yelonElGR,\n abbr: '🇬🇷'\n },\n 'es-ES': {\n text: 'Español',\n ng: ngEsEs,\n zorro: zorroEsES,\n date: dfEs,\n yelon: yelonEsES,\n abbr: '🇪🇸'\n },\n 'fr-FR': {\n text: 'Français',\n ng: ngFr,\n zorro: zorroFrFR,\n date: dfFr,\n yelon: yelonFrFR,\n abbr: '🇫🇷'\n },\n 'hr-HR': {\n text: 'Hrvatski',\n ng: ngHr,\n zorro: zorroHrHR,\n date: dfHr,\n yelon: yelonHrHR,\n abbr: '🇭🇷'\n },\n 'it-IT': {\n text: 'Italiano',\n ng: ngIt,\n zorro: zorroItIT,\n date: dfIt,\n yelon: yelonItIT,\n abbr: '🇮🇹'\n },\n 'ko-KR': {\n text: '한국어',\n ng: ngKo,\n zorro: zorroKoKR,\n date: dfKo,\n yelon: yelonKoKR,\n abbr: '🇰🇷'\n },\n 'pl-PL': {\n text: 'Polski',\n ng: ngPl,\n zorro: zorroPlPL,\n date: dfPl,\n yelon: yelonPlPL,\n abbr: '🇵🇱'\n },\n 'sl-SI': {\n text: 'Slovenščina',\n ng: ngSl,\n zorro: zorroSlSI,\n date: dfSl,\n yelon: yelonSlSI,\n abbr: '🇸🇮'\n },\n 'tr-TR': {\n text: 'Türkçe',\n ng: ngTr,\n zorro: zorroTrTR,\n date: dfTr,\n yelon: yelonTrTR,\n abbr: '🇹🇷'\n }\n};\n","import { Platform } from '@angular/cdk/platform';\nimport { registerLocaleData } from '@angular/common';\nimport ngEn from '@angular/common/locales/en';\nimport { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { Observable, catchError, of, Subject, takeUntil } from 'rxjs';\n\nimport { enUS as dfEn } from 'date-fns/locale';\nimport { map } from 'rxjs/operators';\n\nimport { ITokenService, YA_SERVICE_TOKEN } from '@yelon/auth';\nimport {\n YelonLocaleService,\n SettingsService,\n _HttpClient,\n YunzaiI18nBaseService,\n YunzaiI18NType,\n en_US as yelonEnUS\n} from '@yelon/theme';\nimport { YunzaiConfigService } from '@yelon/util/config';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzI18nService, en_US as zorroEnUS } from 'ng-zorro-antd/i18n';\n\nimport { YUNZAI_LANGS } from './yunzai-lang';\n\ndeclare const ngDevMode: boolean;\n\nconst DEFAULT = 'zh-CN';\n\n@Injectable({ providedIn: 'root' })\nexport class YunzaiI18NService extends YunzaiI18nBaseService implements OnDestroy {\n protected override _defaultLang = DEFAULT;\n private $destroy = new Subject();\n\n constructor(\n private http: _HttpClient,\n private settings: SettingsService,\n private nzI18nService: NzI18nService,\n private yelonLocaleService: YelonLocaleService,\n private platform: Platform,\n @Inject(YA_SERVICE_TOKEN) private tokenService: ITokenService,\n cogSrv: YunzaiConfigService\n ) {\n super(cogSrv);\n if (this.tokenService.get()?.access_token) {\n const defaultLang = this.getDefaultLang();\n this.getLangs()\n .pipe(takeUntil(this.$destroy))\n .subscribe(langs => {\n this._defaultLang = langs.findIndex(w => w.code === defaultLang) === -1 ? DEFAULT : defaultLang;\n });\n }\n }\n\n private getDefaultLang(): string {\n if (!this.platform.isBrowser) {\n return DEFAULT;\n }\n if (this.settings.layout.lang) {\n return this.settings.layout.lang;\n }\n let res = (navigator.languages ? navigator.languages[0] : null) || navigator.language;\n const arr = res.split('-');\n return arr.length <= 1 ? res : `${arr[0]}-${arr[1].toUpperCase()}`;\n }\n\n loadLangData(lang: string): Observable<NzSafeAny> {\n if (ngDevMode) {\n return this.http.get(`assets/tmp/i18n/${lang}.json`);\n } else {\n return this.http\n .get(`/i18n/api/v2/language/${lang}`)\n .pipe(catchError(() => this.http.get(`assets/tmp/i18n/${lang}.json`)));\n }\n }\n\n use(lang: string, data: Record<string, unknown>): void {\n if (this._currentLang === lang) return;\n this._data = this.flatData(data, []);\n const item = YUNZAI_LANGS[lang];\n if (item) {\n registerLocaleData(item.ng);\n this.nzI18nService.setLocale(item.zorro);\n this.nzI18nService.setDateLocale(item.date);\n this.yelonLocaleService.setLocale(item.yelon);\n this._currentLang = lang;\n this._change$.next(lang);\n } else {\n registerLocaleData(ngEn);\n this.nzI18nService.setLocale(zorroEnUS);\n this.nzI18nService.setDateLocale(dfEn);\n this.yelonLocaleService.setLocale(yelonEnUS);\n this._currentLang = lang;\n this._change$.next(lang);\n }\n }\n\n getLangs(): Observable<YunzaiI18NType[]> {\n const langs = Object.keys(YUNZAI_LANGS).map(code => {\n const item = YUNZAI_LANGS[code];\n return { code, text: item.text, abbr: item.abbr, image: undefined };\n });\n if (ngDevMode) {\n return of(langs);\n } else {\n return this.http.get(`/i18n/api/v2/language`).pipe(\n map((response: any) => {\n return response.data;\n }),\n catchError(() => of(langs))\n );\n }\n }\n\n ngOnDestroy(): void {\n this.$destroy.complete();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, Input, OnDestroy } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { YUNZAI_I18N_TOKEN, SettingsService, YunzaiI18NType } from '@yelon/theme';\nimport { BooleanInput, InputBoolean } from '@yelon/util/decorator';\n\nimport { YunzaiI18NService } from '../yunzai-i18n.service';\n\n@Component({\n selector: 'yunzai-i18n',\n template: `\n <div *ngIf=\"showLangText\" nz-dropdown [nzDropdownMenu]=\"langMenu\" nzPlacement=\"bottomRight\">\n <i nz-icon nzType=\"global\"></i>\n {{ 'lang.nav' | i18n }}\n <i nz-icon nzType=\"down\"></i>\n </div>\n <i\n *ngIf=\"!showLangText\"\n nz-dropdown\n [nzDropdownMenu]=\"langMenu\"\n nzPlacement=\"bottomRight\"\n nz-icon\n nzType=\"global\"\n ></i>\n <nz-dropdown-menu data-event-id=\"_nav_lang\" #langMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li\n data-event-id=\"_nav_lang\"\n [attr.data-text]=\"item.text\"\n nz-menu-item\n *ngFor=\"let item of langs\"\n [nzSelected]=\"item.code === curLangCode\"\n (click)=\"change(item.code)\"\n >\n <span *ngIf=\"!item.icon\" role=\"img\" [attr.aria-label]=\"item.text\" class=\"pr-xs\">{{ item.abbr }}</span>\n <img\n *ngIf=\"item.icon\"\n style=\"margin-right:4px\"\n width=\"50px\"\n height=\"30px\"\n [src]=\"'data:image/png;base64,' + item.icon\"\n [alt]=\"item.abbr\"\n class=\"pr-xs\"\n />\n {{ item.text }}\n </li>\n </ul>\n </nz-dropdown-menu>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiI18NComponent implements OnDestroy {\n static ngAcceptInputType_showLangText: BooleanInput;\n /** Whether to display language text */\n @Input() @InputBoolean() showLangText = true;\n private $destroy = new Subject();\n\n langs: YunzaiI18NType[] = [];\n\n get curLangCode(): string {\n return this.settings.layout.lang;\n }\n\n constructor(\n private settings: SettingsService,\n @Inject(YUNZAI_I18N_TOKEN) private i18n: YunzaiI18NService,\n @Inject(DOCUMENT) private doc: any\n ) {\n this.i18n\n .getLangs()\n .pipe(takeUntil(this.$destroy))\n .subscribe(langs => {\n this.langs = langs;\n });\n }\n\n change(lang: string): void {\n const spinEl = this.doc.createElement('div');\n spinEl.setAttribute('class', `page-loading ant-spin ant-spin-lg ant-spin-spinning`);\n spinEl.innerHTML = `<span class=\"ant-spin-dot ant-spin-dot-spin\"><i></i><i></i><i></i><i></i></span>`;\n this.doc.body.appendChild(spinEl);\n\n this.i18n.loadLangData(lang).subscribe(res => {\n this.i18n.use(lang, res);\n this.settings.setLayout('lang', lang);\n setTimeout(() => this.doc.location.reload());\n });\n }\n\n ngOnDestroy(): void {\n this.$destroy.complete();\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Injector,\n OnDestroy,\n OnInit\n} from '@angular/core';\nimport { forkJoin, Observable, Subscription, map } from 'rxjs';\n\nimport { formatDistanceToNow } from 'date-fns';\n\nimport { NoticeIconSelect, NoticeItem } from '@yelon/abc/notice-icon';\nimport { YUNZAI_I18N_TOKEN, _HttpClient } from '@yelon/theme';\nimport { WINDOW } from '@yelon/util';\nimport { log } from '@yelon/util/other';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { YunzaiI18NService } from '../yunzai-i18n.service';\n\n@Component({\n selector: 'yunzai-notify',\n template: `\n <notice-icon\n [data]=\"data\"\n [count]=\"count\"\n [loading]=\"loading\"\n btnClass=\"yunzai-default__nav-item\"\n btnIconClass=\"yunzai-default__nav-item-icon\"\n (select)=\"select($event)\"\n (clear)=\"clear($event)\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiNotifyComponent implements OnInit, OnDestroy {\n data: NoticeItem[] = [\n {\n key: 'msg',\n title: this.y18n.fanyi('notify.message'),\n list: [],\n emptyText: this.y18n.fanyi('notify.message.empty'),\n emptyImage: './assets/tmp/img/message.svg',\n clearText: this.y18n.fanyi('notify.message.clear')\n },\n {\n key: 'todo',\n title: this.y18n.fanyi('notify.todo'),\n list: [],\n emptyText: this.y18n.fanyi('notify.todo.empty'),\n emptyImage: './assets/tmp/img/todo.svg',\n clearText: this.y18n.fanyi('notify.todo.clear')\n },\n {\n key: 'notice',\n title: this.y18n.fanyi('notify.notice'),\n list: [],\n emptyText: this.y18n.fanyi('notify.notice.empty'),\n emptyImage: './assets/tmp/img/notice.svg',\n clearText: this.y18n.fanyi('notify.notice.clear')\n }\n ];\n loading = false;\n count = 0;\n subs: Subscription[] = [];\n\n constructor(\n private injector: Injector,\n private msg: NzMessageService,\n @Inject(YUNZAI_I18N_TOKEN) private y18n: YunzaiI18NService,\n private nzI18n: NzI18nService,\n private cdr: ChangeDetectorRef,\n private httpClient: _HttpClient\n ) {}\n\n ngOnInit(): void {\n this.loadData();\n }\n\n loadData(): void {\n this.count = 0;\n this.loading = true;\n this.subs.push(\n // @ts-ignore\n forkJoin(this.loadTodo(), this.loadMessage()).subscribe(() => {\n this.loading = false;\n this.cdr.detectChanges();\n })\n );\n }\n\n loadMessage(): Observable<void> {\n log('notify.component: ', 'fetch message list');\n const formatMessageStatus = (status: string): NzSafeAny => {\n switch (status) {\n case '0':\n return { extra: this.y18n.fanyi('notify.unread'), color: 'red' };\n case '1':\n return { extra: this.y18n.fanyi('notify.readed'), color: 'green' };\n default:\n return { extra: this.y18n.fanyi('notify.nostatus'), color: 'primary' };\n }\n };\n return this.httpClient\n .post(`/message-center-3/my-msg-and-todo/msg-list`, {\n pageNum: 1,\n pageSize: 10,\n status: '0'\n })\n .pipe(\n map((response: NzSafeAny) => {\n const viewMessage = this.data.filter(d => d.key === 'msg')[0];\n viewMessage.list = response.data.list.map((m: NzSafeAny) => {\n return {\n ...m,\n avatar: m?.imgUrl || './assets/tmp/img/message.png',\n title: m.systemName,\n description: m.content,\n extra: formatMessageStatus(m.status).extra,\n color: formatMessageStatus(m.status).color,\n datetime: formatDistanceToNow(new Date(m.date), { locale: this.nzI18n.getDateLocale() })\n };\n });\n this.count += viewMessage.list.length;\n })\n );\n }\n\n loadTodo(): Observable<void> {\n log('notify.component: ', 'fetch todo list');\n const formatTodoStatus = (status: string): NzSafeAny => {\n switch (status) {\n case '0':\n return { extra: this.y18n.fanyi('notify.unstart'), color: 'red' };\n case '1':\n return { extra: this.y18n.fanyi('notify.started'), color: 'green' };\n default:\n return { extra: this.y18n.fanyi('notify.nostatus'), color: 'primary' };\n }\n };\n return this.httpClient\n .post(`/message-center-3/my-msg-and-todo/todo-list`, {\n pageNum: 1,\n pageSize: 10,\n status: '0'\n })\n .pipe(\n map((response: NzSafeAny) => {\n const viewTodo = this.data.filter(d => d.key === 'todo')[0];\n viewTodo.list = response.data.list.map((t: NzSafeAny) => {\n return {\n ...t,\n avatar: t?.imgUrl || './assets/tmp/img/todo.png',\n title: t.systemName,\n description: t.content,\n datetime: formatDistanceToNow(new Date(t.date), { locale: this.nzI18n.getDateLocale() }),\n extra: formatTodoStatus(t.status).extra,\n color: formatTodoStatus(t.status).color\n };\n });\n this.count += viewTodo.list.length;\n })\n );\n }\n\n clear(type: string): void {\n const t = this.data.filter(d => d.title === type)[0];\n if (t.key == 'msg' || t.key == 'notice') {\n this.subs.push(\n this.httpClient.post(`/message-center-3/my-msg-and-todo/msg-clear`, {}).subscribe(_ => {\n this.msg.success(`${this.y18n.fanyi('notify.clear')} ${type}`);\n this.loadData();\n })\n );\n }\n if (t.key == 'todo') {\n this.loadData();\n }\n }\n\n select(res: NoticeIconSelect): void {\n this.injector.get(WINDOW).open(res.item.url);\n this.loadData();\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(a => a.unsubscribe());\n }\n}\n","import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n Inject,\n Optional\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { ThemeBtnType, YUNZAI_THEME_BTN_KEYS } from '@yelon/theme/theme-btn';\nimport { YunzaiConfigService } from '@yelon/util/config';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface YunzaiThemeBtnType extends ThemeBtnType {\n color?: string;\n}\n\n@Component({\n selector: 'yunzai-theme-btn',\n template: `\n <div\n data-event-id=\"_nav_theme\"\n class=\"yunzai-default__nav-item\"\n nz-dropdown\n [nzDropdownMenu]=\"iconMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <svg nz-tooltip class=\"anticon\" role=\"img\" width=\"21\" height=\"21\" viewBox=\"0 0 21 21\" fill=\"currentColor\">\n <g fill-rule=\"evenodd\">\n <g fill-rule=\"nonzero\">\n <path\n d=\"M7.02 3.635l12.518 12.518a1.863 1.863 0 010 2.635l-1.317 1.318a1.863 1.863 0 01-2.635 0L3.068 7.588A2.795 2.795 0 117.02 3.635zm2.09 14.428a.932.932 0 110 1.864.932.932 0 010-1.864zm-.043-9.747L7.75 9.635l9.154 9.153 1.318-1.317-9.154-9.155zM3.52 12.473c.514 0 .931.417.931.931v.932h.932a.932.932 0 110 1.864h-.932v.931a.932.932 0 01-1.863 0l-.001-.931h-.93a.932.932 0 010-1.864h.93v-.932c0-.514.418-.931.933-.931zm15.374-3.727a1.398 1.398 0 110 2.795 1.398 1.398 0 010-2.795zM4.385 4.953a.932.932 0 000 1.317l2.046 2.047L7.75 7 5.703 4.953a.932.932 0 00-1.318 0zM14.701.36a.932.932 0 01.931.932v.931h.932a.932.932 0 010 1.864h-.933l.001.932a.932.932 0 11-1.863 0l-.001-.932h-.93a.932.932 0 110-1.864h.93v-.931a.932.932 0 01.933-.932z\"\n />\n </g>\n </g>\n </svg>\n </div>\n <nz-dropdown-menu #iconMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li\n nz-menu-item\n data-event-id=\"_nav_theme\"\n [attr.data-text]=\"theme.text | i18n\"\n *ngFor=\"let theme of types\"\n (click)=\"onThemeChange(theme.key)\"\n [style]=\"{ color: theme.color }\"\n >\n <i nz-icon nzType=\"bg-colors\"></i>\n {{ theme.text | i18n }}\n </li>\n </ul>\n <!-- <div nz-menu class=\"wd-xl animated jello\">-->\n <!-- <div nz-row [nzJustify]=\"'space-between'\" [nzAlign]=\"'middle'\" class=\"app-icons\">-->\n <!-- <div nz-col [nzSpan]=\"4\" *ngFor=\"let theme of types\" (click)=\"onThemeChange(theme.key)\">-->\n <!-- <i nz-icon nzType=\"bg-colors\" class=\"text-white\" [style]=\"{ backgroundColor: theme.color }\"></i>-->\n <!-- <span [ngStyle]=\"{ color: theme.color }\">{{ theme.text | i18n }}</span>-->\n <!-- </div>-->\n <!-- </div>-->\n <!-- </div>-->\n </nz-dropdown-menu>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiThemBtnComponent implements OnInit, OnDestroy {\n private theme = 'default';\n @Input() types: YunzaiThemeBtnType[] = [\n { key: 'default', text: 'theme.default', color: '#2163ff' },\n { key: 'compact', text: 'theme.compact', color: '#2163ff' },\n { key: 'dark', text: 'theme.dark', color: '#020202' },\n { key: 'yuhong', text: 'theme.yuhong', color: '#C04851' },\n { key: 'danjuhuang', text: 'theme.danjuhuang', color: '#FBA414' },\n { key: 'xinghuang', text: 'theme.xinghuang', color: '#F28E16' },\n { key: 'shilv', text: 'theme.shilv', color: '#57C3C2' },\n { key: 'zhulv', text: 'theme.zhulv', color: '#1BA784' },\n { key: 'youlan', text: 'theme.youlan', color: '#1781B5' },\n { key: 'dianqing', text: 'theme.dianqing', color: '#1661AB' },\n { key: 'shangengzi', text: 'theme.shangengzi', color: '#61649F' },\n { key: 'shuiniuhui', text: 'theme.shuiniuhui', color: '#2F2F35' }\n ];\n @Input() devTips = `When the dark.css file can't be found, you need to run it once: npm run theme`;\n @Input() deployUrl = '';\n dir: Direction = 'ltr';\n private $destroy = new Subject();\n\n constructor(\n private renderer: Renderer2,\n private configSrv: YunzaiConfigService,\n private platform: Platform,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n @Optional() private directionality: Directionality,\n @Inject(YUNZAI_THEME_BTN_KEYS) private KEYS: string\n ) {}\n\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.$destroy)).subscribe((direction: Direction) => {\n this.dir = direction;\n });\n this.initTheme();\n }\n\n private initTheme(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.theme = localStorage.getItem(this.KEYS) || 'default';\n this.updateChartTheme();\n this.onThemeChange(this.theme);\n }\n\n private updateChartTheme(): void {\n this.configSrv.set('chart', { theme: this.theme === 'dark' ? 'dark' : '' });\n }\n\n onThemeChange(theme: string): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.theme = theme;\n this.renderer.setAttribute(this.doc.body, 'data-theme', theme);\n const dom = this.doc.getElementById(this.KEYS);\n if (dom) {\n dom.remove();\n }\n localStorage.removeItem(this.KEYS);\n if (theme !== 'default') {\n const el = this.doc.createElement('link');\n el.type = 'text/css';\n el.rel = 'stylesheet';\n el.id = this.KEYS;\n el.href = `${this.deployUrl}assets/style.${theme}.css`;\n\n localStorage.setItem(this.KEYS, theme);\n this.doc.body.append(el);\n }\n this.updateChartTheme();\n }\n\n ngOnDestroy(): void {\n this.$destroy.complete();\n const el = this.doc.getElementById(this.KEYS);\n if (el != null) {\n this.doc.body.removeChild(el);\n }\n }\n}\n","import { YunzaiBusinessConfig, YunzaiConfigService } from '@yelon/util';\n\nexport const BUSINESS_DEFAULT_CONFIG: YunzaiBusinessConfig = {\n baseUrl: '/backstage',\n systemCode: 'portal',\n nav: {\n mine: true,\n all: true\n },\n loginForm: null,\n refreshTokenEnabled: true,\n refreshTokenType: 're-request'\n};\n\nexport function mergeBisConfig(srv: YunzaiConfigService): YunzaiBusinessConfig {\n return srv.merge('bis', BUSINESS_DEFAULT_CONFIG)!;\n}\n","import { ChangeDetectionStrategy, Component, Inject, Injector, OnInit } from '@angular/core';\n\nimport { YA_SERVICE_TOKEN, ITokenService } from '@yelon/auth';\nimport {\n useLocalStorageProjectInfo,\n useLocalStorageUser,\n WINDOW,\n YunzaiBusinessConfig,\n YunzaiConfigService\n} from '@yelon/util';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { mergeBisConfig } from '../bis.config';\n\nexport interface UserLink {\n icon: string;\n name: string;\n url: string;\n}\n\n@Component({\n selector: 'yunzai-user',\n template: `\n <div\n class=\"yunzai-default__nav-item d-flex align-items-center px-sm\"\n data-event-id=\"_nav_user\"\n nz-dropdown\n nzPlacement=\"bottomRight\"\n [nzDropdownMenu]=\"userMenu\"\n >\n <div class=\"yz-user-name\">\n <nz-avatar [nzSrc]=\"icon\" nzSize=\"small\" class=\"mr-sm\" />\n {{ username }}\n </div>\n </div>\n <nz-dropdown-menu #userMenu=\"nzDropdownMenu\">\n <div nz-menu class=\"width-sm\">\n <div\n data-event-id=\"_nav_user\"\n [attr.data-name]=\"m.name | i18n\"\n nz-menu-item\n *ngFor=\"let m of menus\"\n (click)=\"to(m.url)\"\n >\n <i nz-icon [nzType]=\"m.icon\" class=\"mr-sm\"></i>\n {{ m.name | i18n }}\n </div>\n <li nz-menu-divider></li>\n <div data-event-id=\"_nav_user\" data-name=\"注销登录\" nz-menu-item (click)=\"logout()\">\n <i nz-icon nzType=\"logout\" class=\"mr-sm\"></i>\n {{ 'logout' | i18n }}\n </div>\n </div>\n </nz-dropdown-menu>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YunzaiUserComponent implements OnInit {\n private config: YunzaiBusinessConfig;\n\n constructor(\n private injector: Injector,\n private msg: NzMessageService,\n @Inject(YA_SERVICE_TOKEN) private tokenService: ITokenService,\n // @ts-ignore\n private configService: YunzaiConfigService\n ) {\n this.config = mergeBisConfig(configService);\n }\n\n icon: string = '';\n username: string = '';\n menus: UserLink[] = [];\n\n ngOnInit(): void {\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const [, getUser] = useLocalStorageUser();\n const projectInfo = getProjectInfo()!;\n const user = getUser()!;\n this.username = user.realname ? user.realname : '未命名';\n this.icon = user.avatarId\n ? `${this.config.baseUrl}/filecenter/file/${user.avatarId}`\n : `./assets/tmp/img/avatar.jpg`;\n this.menus = projectInfo.profileList as UserLink[];\n }\n\n logout(): void {\n localStorage.clear();\n this.tokenService.clear();\n this.injector.get(WINDOW).location.href = `${this.config.baseUrl}/cas-proxy/app/logout`;\n }\n\n to(href: string): void {\n if (href) {\n this.injector.get(WINDOW).open(href);\n } else {\n this.msg.error('该菜单没有配置链接!');\n }\n }\n}\n","import { Component, Inject, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { _HttpClient } from '@yelon/theme';\nimport {\n LayoutNavApplicationState,\n useLocalStorageHeader,\n WINDOW,\n YunzaiBusinessConfig,\n YunzaiConfigService,\n YunzaiNavTopic\n} from '@yelon/util';\n\nimport { BUSINESS_DEFAULT_CONFIG, mergeBisConfig } from '../bis.config';\nimport { YunzaiI18NService } from '../yunzai-i18n.service';\n\n@Component({\n selector: `layout-nav-application`,\n template: `\n <!-- search start-->\n <ng-template #search>\n <div nz-row class=\"yz-application-list-search\">\n <nz-input-group [nzPrefix]=\"prefixTemplate\">\n <input\n data-event-id=\"_nav_search\"\n type=\"text\"\n nz-input\n placeholder=\"{{ 'application.search' | i18n }}\"\n [(ngModel)]=\"state.search\"\n (ngModelChange)=\"onSearch()\"\n />\n <ng-template #prefixTemplate>\n <i nz-icon nzType=\"search\" nzTheme=\"outline\"></i>\n </ng-template>\n </nz-input-group>\n </div>\n </ng-template>\n <!-- search end -->\n\n <!-- right menu start -->\n <ng-template #ld>\n <div class=\"yz-application-list\">\n <ul>\n <li *ngFor=\"let topic of state.list\">\n <h5>{{ topic.name | i18n }}</h5>\n <a\n data-event-id=\"_nav_item\"\n [attr.data-name]=\"nav.name | i18n\"\n href=\"javascript:;\"\n *ngFor=\"let nav of topic.children\"\n (click)=\"open(nav)\"\n >{{ nav.name | i18n }}</a\n >\n </li>\n </ul>\n </div>\n </ng-template>\n <!-- right menu end -->\n\n <!-- button start-->\n <div data-event-id=\"_nav_app\" id=\"navBtn\" class=\"yunzai-default__nav-item\" (click)=\"diffChange()\">{{\n 'mode.nav' | i18n\n }}</div>\n <!-- button end-->\n\n <!-- header start-->\n <div class=\"yz-application\" id=\"navDropdown\" nz-row *ngIf=\"state.active\">\n <div nz-col [nzSpan]=\"3\" class=\"yz-application-topic\">\n <div\n *ngIf=\"showAllMenu\"\n data-event-id=\"_nav_topic\"\n data-name=\"全部应用\"\n class=\"yz-application-text\"\n (click)=\"attachNav('all')\"\n >{{ 'mode.nav.all' | i18n }}</div\n >\n <div\n *ngIf=\"showMineMenu\"\n data-event-id=\"_nav_topic\"\n data-name=\"我的应用\"\n class=\"yz-application-text\"\n (click)=\"attachNav('mine')\"\n >{{ 'mode.nav.mine' | i18n }}</div\n >\n <div\n data-event-id=\"_nav_topic\"\n [attr.data-name]=\"nav.name | i18n\"\n class=\"yz-application-text\"\n *ngFor=\"let nav of state.topics\"\n (click)=\"attachNav('other', nav)\"\n >{{ nav.name | i18n }}</div\n >\n </div>\n <div nz-col [nzSpan]=\"21\" [ngSwitch]=\"state.topic\" class=\"yz-application-container\">\n <div *ngIf=\"state.type === 'all'\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"ld\"></ng-template>\n </div>\n <div *ngIf=\"state.type === 'mine'\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"ld\"></ng-template>\n </div>\n <div *ngIf=\"state.type === 'other'\" class=\"yz-application-list\">\n <div class=\"yz-application-list-item\">\n <ul>\n <li\n data-event-id=\"_nav_item\"\n [attr.data-name]=\"nav.name | i18n\"\n *ngFor=\"let nav of state.list\"\n (click)=\"open(nav)\"\n >\n <a href=\"javascript:;\">\n <h4>{{ nav.name | i18n }}</h4>\n <p>{{ nav.intro | i18n }}</p>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <!-- header end-->\n `\n})\nexport class LayoutNavApplicationComponent implements OnInit, OnDestroy {\n private bis: YunzaiBusinessConfig = BUSINESS_DEFAULT_CONFIG;\n private $destroy = new Subject();\n state: LayoutNavApplicationState = {\n active: false,\n type: 'all',\n topic: undefined,\n topics: [],\n list: [],\n search: null\n };\n\n get showAllMenu(): boolean {\n if (this.bis.nav) return this.bis.nav!.all!;\n return true;\n }\n\n get showMineMenu(): boolean {\n if (this.bis.nav) return this.bis.nav!.mine!;\n return true;\n }\n\n constructor(\n private i18n: YunzaiI18NService,\n private http: _HttpClient,\n private inject: Injector,\n // @ts-ignore\n private configService: YunzaiConfigService,\n @Inject(WINDOW) private win: any\n ) {\n this.bis = mergeBisConfig(configService);\n }\n\n ngOnInit(): void {\n this.fetchAllTopic();\n this.attachNav('all');\n this.win.addEventListener('click', (event: any) => {\n const { target } = event;\n const btn = this.win.document.getElementById('navBtn');\n const dropdown = this.win.document.getElementById('navDropdown');\n if (btn && dropdown && !dropdown.contains(target) && !btn.contains(target)) {\n this.state.active = false;\n }\n });\n }\n\n fetchAllTopic(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topics = getTopics()!;\n }\n\n attachNav(type: 'all' | 'mine' | 'other', topic?: YunzaiNavTopic): void {\n this.state.type = type;\n this.clearSearch();\n if (type === 'all') {\n this.displayAllNav();\n }\n if (type === 'mine') {\n this.displayMineNav();\n }\n if (type === 'other' && topic) {\n this.displayOtherNav(topic);\n }\n }\n\n clearSearch(): void {\n this.state.search = null;\n }\n\n displayAllNav(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!;\n }\n\n displayMineNav(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!\n .filter((topic: YunzaiNavTopic) => {\n topic.children = topic.children.filter((child: YunzaiNavTopic) => {\n return child.auth;\n });\n return topic;\n })\n .filter((topic: YunzaiNavTopic) => {\n return topic.children.length > 0;\n });\n }\n\n displayOtherNav(topic: YunzaiNavTopic): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topic = topic;\n const temp: YunzaiNavTopic[] = getTopics()!;\n this.state.list = temp.filter(t => t.key === topic.key)[0].children;\n }\n\n diffChange(flag?: boolean): void {\n if (flag) {\n this.state.active = flag;\n } else {\n this.state.active = !this.state.active;\n }\n }\n\n open(topic: YunzaiNavTopic): void {\n if (topic.key) {\n this.http\n .post(`/app-manager/web-scan/save`, {\n appId: topic.key,\n createDate: new Date()\n })\n .pipe(takeUntil(this.$destroy))\n .subscribe();\n }\n switch (topic.target) {\n case 'href':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n case 'blank':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n case 'target':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n default:\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n }\n }\n\n onSearch(): void {\n const [, getTopics] = useLocalStorageHeader();\n const temp: YunzaiNavTopic[] = getTopics()!;\n if (this.state.search) {\n this.state.list = temp\n .filter((topic: YunzaiNavTopic) => {\n if (this.i18n.fanyi(topic.name).includes(this.state.search!)) {\n return topic;\n } else {\n topic.children = topic.children.filter((child: YunzaiNavTopic) => {\n return this.i18n.fanyi(child.name).includes(this.state.search!);\n });\n return topic;\n }\n })\n .filter((topic: YunzaiNavTopic) => {\n return topic.children.length > 0;\n });\n } else {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!;\n }\n }\n\n ngOnDestroy(): void {\n this.$destroy.complete();\n }\n}\n","import { Component, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { _HttpClient } from '@yelon/theme';\nimport { LayoutNavGroupState, useLocalStorageHeader, WINDOW, YunzaiNavTopic } from '@yelon/util';\n\n@Component({\n selector: `layout-nav-group`,\n template: `\n <div class=\"yz-application-group\">\n <nz-tabset>\n <nz-tab *ngFor=\"let menu of state.topics\" [nzTitle]=\"groupTitleTpl\">\n <ng-template #groupTitleTpl>\n <a\n data-event-id=\"_nav_topic\"\n [attr.data-name]=\"menu.name | i18n\"\n nz-dropdown\n [nzDropdownMenu]=\"menuTpl\"\n [nzTrigger]=\"'click'\"\n [nzOverlayClassName]=\"'yz-application-dropdown'\"\n >\n <i nz-icon *ngIf=\"menu.icon\" [nzType]=\"menu.icon\" nzTheme=\"outline\"></i>\n {{ menu.name | i18n }}\n <i *ngIf=\"menu.children && menu.children.length > 0\" nz-icon nzType=\"down\" nzTheme=\"outline\"></i>\n </a>\n <nz-dropdown-menu #menuTpl=\"nzDropdownMenu\">\n <ul nz-menu nzSelectable *ngIf=\"menu.children && menu.children.length > 0\">\n <ng-container *ngFor=\"let item of menu.children\">\n <li data-event-id=\"_nav_item\" [attr.data-name]=\"item.name | i18n\" nz-menu-item (click)=\"open(item)\">\n <i nz-icon *ngIf=\"item.icon\" [nzType]=\"item.icon\" nzTheme=\"outline\"></i>{{ item.name | i18n }}\n </li>\n </ng-container>\n </ul>\n </nz-dropdown-menu>\n </ng-template>\n </nz-tab>\n </nz-tabset>\n </div>\n `\n})\nexport class LayoutNavGroupComponent implements OnInit, OnDestroy {\n private $destroy = new Subject();\n state: LayoutNavGroupState = {\n topics: []\n };\n\n constructor(\n private inject: Injector,\n private http: _HttpClient\n ) {}\n\n ngOnInit(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topics = getTopics() || [];\n }\n\n open(topic: YunzaiNavTopic): void {\n if (topic.key) {\n this.http\n .post(`/app-manager/web-scan/save`, {\n appId: topic.key,\n createDate: new Date()\n })\n .pipe(takeUntil(this.$destroy))\n .subscribe();\n }\n switch (topic.target) {\n case 'href':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n case 'blank':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n case 'target':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n default:\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n }\n }\n\n ngOnDestroy(): void {\n this.$destroy.complete();\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: `layout-nav-tile`,\n template: `<ng-template />`\n})\nexport class LayoutNavTileComponent {\n constructor() {}\n}\n","import { Component, Inject, OnInit } from '@angular/core';\n\nimport { StompService } from '@yelon/socket';\nimport { LayoutDefaultOptions, LayoutDisplayService } from '@yelon/theme/layout-default';\nimport {\n WINDOW,\n hasFavicon,\n log,\n setFavicon,\n NavType,\n LayoutBasicAside,\n YunzaiProjectInfo,\n useLocalStorageCurrent,\n useLocalStorageProjectInfo,\n useLocalStorageHeaderType,\n useLocalStorageDefaultRoute\n} from '@yelon/util';\n\nimport { LayoutBasicState } from './interface';\n\n@Component({\n selector: `yz-layout-basic`,\n template: `\n <layout-default [options]=\"options\" [asideUser]=\"asideUserTpl\" [content]=\"displayReusetab ? contentTpl : noneTpl\">\n <!-- nav -->\n <layout-default-header-item direction=\"left\">\n <ng-container [ngSwitch]=\"navType\">\n <ng-container *ngSwitchCase=\"NavType.APPLICATION\">\n <layout-nav-application />\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.GROUP\">\n <layout-nav-group />\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.TILE\">\n <layout-nav-tile />\n </ng-container>\n <ng-container *ngSwitchDefault>\n <layout-nav-application />\n </ng-container>\n </ng-container>\n </layout-default-header-item>\n <!-- nav end -->\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yunzai-notify />\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yunzai-theme-btn />\n </layout-default-header-item>\n <!-- setting -->\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <div\n data-event-id=\"_nav_settings\"\n layout-default-header-item-trigger\n nz-dropdown\n [nzDropdownMenu]=\"settingsMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <i nz-icon nzType=\"setting\"></i>\n </div>\n <nz-dropdown-menu #settingsMenu=\"nzDropdownMenu\">\n <div nz-menu style=\"width: 200px;\">\n <div data-event-id=\"_nav_mode\" nz-menu-item>\n {{ 'mode.nav' | i18n }}\n </div>\n\n <div\n data-event-id=\"_nav_mode\"\n data-type=\"application\"\n nz-menu-item\n (click)=\"onNavTypeChange(NavType.APPLICATION)\"\n >\n <i nz-icon nzType=\"appstore\" class=\"mr-sm\"></i>\n {{ 'mode.nav.application' | i18n }}\n </div>\n <div data-event-id=\"_nav_mode\" data-type=\"group\" nz-menu-item (click)=\"onNavTypeChange(NavType.GROUP)\">\n <i nz-icon nzType=\"group\" class=\"mr-sm\"></i>\n {{ 'mode.nav.group' | i18n }}\n </div>\n <div data-event-id=\"_nav_mode\" data-type=\"tile\" nz-menu-item (click)=\"onNavTypeChange(NavType.TILE)\">\n <i nz-icon nzType=\"appstore\" class=\"mr-sm\"></i>\n {{ 'mode.nav.tile' | i18n }}\n </div>\n <div data-event-id=\"_nav_fullscreen\" nz-menu-item>\n <yunzai-fullscreen />\n </div>\n <div data-event-id=\"_nav_clearstorage\" nz-menu-item>\n <yunzai-clearstorage />\n </div>\n <div data-event-id=\"_nav_i18n\" nz-menu-item>\n <yunzai-i18n />\n </div>\n </div>\n </nz-dropdown-menu>\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\">\n <yunzai-user />\n </layout-default-header-item>\n <!-- setting end -->\n </layout-default>\n <ng-template #asideUserTpl>\n <div\n data-event-id=\"_route_user\"\n nz-dropdown\n nzTrigger=\"click\"\n [nzDropdownMenu]=\"userMenu\"\n class=\"yunzai-default__aside-user\"\n >\n <nz-avatar class=\"yunzai-default__aside-user-avatar\" [nzSrc]=\"aside.icon\" />\n <div class=\"yunzai-default__aside-user-info\">\n <strong>{{ aside.name | i18n }}</strong>\n <p class=\"mb0\">{{ aside.intro | i18n }}</p>\n </div>\n </div>\n <nz-dropdown-menu #userMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li data-event-id=\"_route_backhome\" nz-menu-item routerLink=\"/\">{{ 'back.home' | i18n }}</li>\n </ul>\n </nz-dropdown-menu>\n </ng-template>\n <ng-template #contentTpl>\n <reuse-tab #reuseTab [ngStyle]=\"reusetabCSS\" />\n <router-outlet (activate)=\"reuseTab.activate($event)\" (attach)=\"reuseTab.activate($event)\" />\n </ng-template>\n <ng-template #noneTpl> <router-outlet /> </ng-template>\n `\n})\nexport class YunzaiLayoutBasicComponent implements OnInit {\n public NavType = NavType;\n private state: LayoutBasicState = {\n options: {\n logoExpanded: `./assets/logo-full.svg`,\n logoCollapsed: `./assets/logo.svg`\n },\n aside: {\n name: '',\n intro: '',\n icon: ''\n },\n display: {\n nav: true,\n aside: true,\n reusetab: true\n },\n navType: NavType.APPLICATION\n };\n\n get options(): LayoutDefaultOptions {\n return this.state.options;\n }\n\n get navType(): NavType {\n return this.state.navType;\n }\n\n get aside(): LayoutBasicAside {\n return this.state.aside;\n }\n\n get displayReusetab(): boolean {\n return this.state.display.reusetab;\n }\n\n get reusetabCSS(): any {\n let cascadingStyleSheet = {};\n if (!this.state.display.nav) {\n cascadingStyleSheet = {\n ...cascadingStyleSheet,\n top: '0px'\n };\n }\n if (!this.state.display.aside) {\n cascadingStyleSheet = {\n ...cascadingStyleSheet,\n left: '24px'\n };\n }\n return cascadingStyleSheet;\n }\n\n constructor(\n private layoutDisplayService: LayoutDisplayService,\n private stompService: StompService,\n @Inject(WINDOW) private win: typeof window\n ) {}\n\n ngOnInit(): void {\n this.initLogo();\n this.initFavicon();\n this.initNavType();\n this.initAside();\n this.addLayoutDisplayListener();\n this.stompService.listen();\n this.toIndex();\n }\n\n initFavicon(): void {\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n if (projectInfo.faviconUrl) {\n hasFavicon(projectInfo.faviconUrl).then((has: boolean) => {\n if (has) {\n setFavicon(projectInfo.faviconUrl);\n } else {\n setFavicon('./assets/favicon.ico');\n }\n });\n }\n }\n\n initAside(): void {\n const [, getCurrent] = useLocalStorageCurrent();\n const aside: LayoutBasicAside = getCurrent()!;\n this.state.aside = { ...aside };\n }\n\n initLogo(): void {\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n this.state.options.logoExpanded = projectInfo.maxLogoUrl ? projectInfo.maxLogoUrl : `./assets/logo-full.svg`;\n this.state.options.logoCollapsed = projectInfo.miniLogoUrl ? projectInfo.miniLogoUrl : `./assets/logo.svg`;\n }\n\n initNavType(): void {\n const [, getHeaderType] = useLocalStorageHeaderType();\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const navType: NavType | null = getHeaderType();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n if (navType !== null) {\n this.state.navType = navType;\n return;\n }\n let fetchedNavType: any;\n if (projectInfo.headerStyle && projectInfo.headerStyle.length > 0) {\n fetchedNavType = projectInfo.headerStyle.pop()?.value;\n }\n // default value\n if (!fetchedNavType) {\n fetchedNavType = NavType.APPLICATION;\n }\n this.state.navType = fetchedNavType;\n }\n\n toIndex(): void {\n const [, getDefaultRoute] = useLocalStorageDefaultRoute();\n const defaultRoute = getDefaultRoute()!;\n log('YunzaiLayoutBasicComponent: ', `todo: the default route was ${defaultRoute}, 但是还没想好如何实现.`);\n }\n\n onNavTypeChange(type: NavType): void {\n const [setHeaderType] = useLocalStorageHeaderType();\n setHeaderType(type);\n this.win.location.reload();\n }\n\n addLayoutDisplayListener(): void {\n this.layoutDisplayService.listen('reuseTab', (display: boolean) => {\n this.state.display.reusetab = display;\n });\n this.layoutDisplayService.listen('nav', (display: boolean) => {\n this.state.display.nav = display;\n });\n\n this.layoutDisplayService.listen('aside', (display: boolean) => {\n this.state.display.aside = display;\n });\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { CanActivateChildFn, CanActivateFn, Router } from '@angular/router';\n\nimport { Menu } from '@yelon/theme';\nimport {\n deepCopy,\n log,\n YunzaiBusinessConfig,\n YunzaiConfigService,\n PathToRegexpService,\n useLocalStorageUser,\n YunzaiUser\n} from '@yelon/util';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { BUSINESS_DEFAULT_CONFIG, mergeBisConfig } from './bis.config';\n\n@Injectable({ providedIn: 'root' })\nexport class ActGuardService {\n private bis: YunzaiBusinessConfig = BUSINESS_DEFAULT_CONFIG;\n private menus: NzSafeAny[] = [];\n private links: string[] = [];\n\n constructor(\n private configService: YunzaiConfigService,\n private pathToRegexp: PathToRegexpService,\n private router: Router\n ) {\n log('act: ');\n this.bis = mergeBisConfig(this.configService);\n log('act: config ', this.bis);\n const [, getUser] = useLocalStorageUser();\n const user: YunzaiUser = getUser()!;\n log('act: user ', user);\n // @ts-ignore\n this.menus = deepCopy((user.menu as any) || []).filter(\n (m: Menu) => m.systemCode && m.systemCode === this.bis.systemCode\n ) as Menu[];\n log('act: menus ', this.menus);\n this.getAllLinks(this.menus, this.links);\n log('act: links ', this.links);\n }\n\n process(url: string): boolean {\n log('act: can activate ', url);\n if (this.preHandle(url)) {\n return true;\n }\n log('act: can activate child prehandle success');\n let canactivate = false;\n this.links.forEach((link: string) => {\n // path = /xxx\n if (link === url.split('?')[0]) {\n canactivate = true;\n log(`act: link value ${link} equals url value ${url}`);\n return;\n }\n // paht = /xxx/:xx\n const regexp: RegExp = this.pathToRegexp.stringToRegexp(link, null, null);\n log(`act: ${link} test ${url.split('?')[0]}`);\n if (regexp.test(url.split('?')[0])) {\n canactivate = true;\n log(`act: test value ${canactivate}`);\n return;\n }\n });\n if (canactivate) {\n log(`act: test sucess`);\n return true;\n } else {\n log(`act: test error`);\n this.router.navigate(['displayIndex']);\n return false;\n }\n }\n\n preHandle(url: string): boolean {\n return (\n url.includes('error') ||\n url.includes('exception') ||\n url.includes('displayIndex') ||\n url === '' ||\n url === null ||\n url === '/' ||\n url.includes('iframePage')\n );\n }\n\n getAllLinks(menu: Menu[], links: string[]): void {\n menu.forEach((sider: Menu) => {\n if (sider.link) {\n links.push(sider.link);\n }\n if (sider.children && sider.children.length > 0) {\n this.getAllLinks(sider.children, links);\n }\n });\n }\n}\n\nexport const actGuardCanActive: CanActivateFn = (_, state) => inject(ActGuardService).process(state.url);\nexport const actGuardCanActiveChild: CanActivateChildFn = (_, state) => inject(ActGuardService).process(state.url);\n","import { Injectable, Injector } from '@angular/core';\nimport { combineLatest, map, mergeMap, Observable, of } from 'rxjs';\n\nimport { ITokenModel, ITokenService, YA_SERVICE_TOKEN } from '@yelon/auth';\nimport { _HttpClient } from '@yelon/theme';\nimport {\n log,\n useLocalStorageHeader,\n useLocalStorageProjectInfo,\n useLocalStorageTenant,\n useLocalStorageUser,\n WINDOW,\n YunzaiBusinessConfig,\n YunzaiConfigService\n} from '@yelon/util';\n\nimport { mergeBisConfig } from './bis.config';\n\n@Injectable({ providedIn: 'root' })\nexport class YunzaiAuthService {\n private config: YunzaiBusinessConfig;\n\n constructor(private injector: Injector) {\n this.config = mergeBisConfig(this.configService);\n }\n\n private get configService(): YunzaiConfigService {\n return this.injector.get(YunzaiConfigService);\n }\n\n private get tokenService(): ITokenService {\n return this.injector.get(YA_SERVICE_TOKEN);\n }\n\n private get httpClient(): _HttpClient {\n return this.injector.get(_HttpClient);\n }\n\n askToken(): Observable<ITokenModel> {\n log('yz.auth.service: ', 'askToken');\n if (this.config.loginForm) {\n return this.fetchTokenByUP();\n } else {\n return this.fetchTokenByCas();\n }\n }\n\n fetchTokenByUP(): Observable<ITokenModel> {\n log('yz.auth.service: ', 'fetchTokenByUP');\n return this.httpClient.post(`/auth/oauth/token?_allow_anonymous=true`, this.config.loginForm).pipe(\n map((response: any) => {\n return response;\n })\n );\n }\n\n fetchTokenByCas(): Observable<ITokenModel> {\n log('yz.auth.service: ', 'fetchTokenByCas');\n const uri = encodeURIComponent(this.injector.get(WINDOW).location.href);\n return this.httpClient\n .get(`/cas-proxy/app/validate_full?callback=${uri}&_allow_anonymous=true×tamp=${new Date().getTime()}`)\n .pipe(\n map((response: any) => {\n switch (response.errcode) {\n case 2000:\n return response.data;\n case 2001:\n this.injector.get(WINDOW).location.href = response.msg;\n throw Error(\"Cookie Error: Can't find Cas Cookie,So jump to login!\");\n default:\n if (response.data) {\n console.error(response.data);\n throw Error(response.data);\n } else if (response.msg) {\n console.error(response.msg);\n throw Error(response.msg);\n } else {\n console.error('cas unknown error');\n throw Error('Unknown Error: Cas auth exception!');\n }\n }\n })\n );\n }\n\n login(): Observable<void> {\n log('yz.auth.service: ', 'login white login form->', this.config.loginForm);\n return this.askToken().pipe(\n mergeMap(token => {\n log('yz.auth.service: get token->', token);\n this.configService.set('auth', {\n token_send_key: 'Authorization',\n token_send_template: `${token.token_type} \\${access_token}`,\n token_send_place: 'header'\n });\n log('yz.auth.service: ', 'set token');\n this.tokenService.set(token);\n return of(null);\n }),\n mergeMap(() => this.cacheInit())\n );\n }\n\n cacheInit(): Observable<void> {\n log('yz.auth.service: ', 'cacheInit');\n const [setTenant] = useLocalStorageTenant();\n const [setUser] = useLocalStorageUser();\n const [setHeader] = useLocalStorageHeader();\n const [setProject] = useLocalStorageProjectInfo();\n return combineLatest([\n this.httpClient.get(`/auth/user`),\n this.httpClient.get(`/auth/allheader/v2`),\n this.httpClient.get(`/app-manager/project/info`)\n ]).pipe(\n map(([user, header, project]) => {\n log('yz.auth.service: ', 'set user');\n setUser(user.principal);\n log('yz.auth.service: ', 'set tenant');\n setTenant(user.tenantId);\n log('yz.auth.service: ', 'set header');\n setHeader(header.data);\n log('yz.auth.service: ', 'set project');\n setProject(project.data);\n return void 0;\n })\n );\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpErrorResponse,\n HttpHeaders,\n HttpResponse,\n HttpResponseBase\n} from '@angular/common/http';\nimport { Injectable, Injector } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, of, throwError, catchError, filter, mergeMap, switchMap, take, Observable } from 'rxjs';\n\nimport { YA_SERVICE_TOKEN, ITokenService, ALLOW_ANONYMOUS } from '@yelon/auth';\nimport { YUNZAI_I18N_TOKEN, _HttpClient } from '@yelon/theme';\nimport { WINDOW } from '@yelon/util';\nimport { YunzaiBusinessConfig, YunzaiConfigService } from '@yelon/util/config';\nimport { log } from '@yelon/util/other';\nimport { NzNotificationService } from 'ng-zorro-antd/notification';\n\nimport { mergeBisConfig } from './bis.config';\n\nconst CODEMESSAGE: { [key: number]: string } = {\n 200: '服务器成功返回请求的数据。',\n 201: '新建或修改数据成功。',\n 202: '一个请求已经进入后台排队(异步任务)。',\n 204: '删除数据成功。',\n 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',\n 401: '用户没有权限(令牌、用户名、密码错误)。',\n 403: '用户得到授权,但是访问是被禁止的。',\n 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',\n 406: '请求的格式不可得。',\n 410: '请求的资源被永久删除,且不会再得到的。',\n 422: '当创建一个对象时,发生一个验证错误。',\n 500: '服务器发生错误,请检查服务器。',\n 502: '网关错误。',\n 503: '服务不可用,服务器暂时过载或维护。',\n 504: '网关超时。'\n};\n\n@Injectable()\nclass YunzaiDefaultInterceptor implements HttpInterceptor {\n private jump = false;\n private refreshToking = false;\n private refreshToken$: BehaviorSubject<any> = new BehaviorSubject<any>(null);\n\n private get notification(): NzNotificationService {\n return this.injector.get(NzNotificationService);\n }\n\n private get tokenSrv(): ITokenService {\n return this.injector.get(YA_SERVICE_TOKEN);\n }\n\n private get http(): _HttpClient {\n return this.injector.get(_HttpClient);\n }\n\n private get config(): YunzaiBusinessConfig {\n return mergeBisConfig(this.injector.get(YunzaiConfigService));\n }\n\n private goTo(url: string): void {\n setTimeout(() => this.injector.get(Router).navigateByUrl(url));\n }\n\n constructor(private injector: Injector) {\n if (this.config.refreshTokenType === 'auth-refresh') {\n console.error(\"can't use auth-refresh, please change yz.default.interceptor to default.interceptor!\");\n }\n }\n\n private checkStatus(ev: HttpResponseBase): void {\n if ((ev.status >= 200 && ev.status < 300) || ev.status === 401) {\n return;\n }\n\n if (ev instanceof HttpErrorResponse && (ev.error.message || ev.error.errorMessage)) {\n if (ev.error.errorMessage) {\n this.notification.error(`发生了一些错误 `, ev.error.errorMessage);\n } else {\n this.notification.error(`发生了一些错误 `, ev.error.message);\n }\n return;\n }\n\n if (ev instanceof HttpResponse && ev.body.errorMessage) {\n this.notification.error(`发生了一些错误 `, ev.body.errorMessage);\n return;\n }\n const errortext = CODEMESSAGE[ev.status] || ev.statusText;\n this.notification.error(`请求错误 ${ev.status}: ${ev.url}`, errortext);\n }\n\n private ToLogin(): void {\n this.notification.error(`未登录或登录状态已过期,5秒后将跳转到登录页面。`, ``);\n setTimeout(() => {\n localStorage.clear();\n this.injector.get(WINDOW).location.href = `${this.config.baseUrl}/cas-proxy/app/logout`;\n }, 5000);\n }\n\n private reAttachToken(req: HttpRequest<any>): HttpRequest<any> {\n const token = this.tokenSrv.get()?.access_token;\n return req.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`\n }\n });\n }\n\n private refreshTokenRequest(): Observable<any> {\n const model = this.tokenSrv.get();\n const form = new FormData();\n form.set('refresh_token', model?.refresh_token!);\n form.set('grant_type', 'refresh_token');\n form.set('scope', 'webapp');\n log('yz.default.interceptor: use the refresh token to request a new token', model?.refresh_token);\n return this.http.post(`/auth/oauth/getOrCreateToken/webapp`, form);\n }\n\n private tryRefreshToken(ev: HttpResponseBase, req: HttpRequest<any>, next: HttpHandler): Observable<any> {\n // 连刷新Token的请求都错了,那就是真错了\n if (['/auth/oauth/getOrCreateToken/webapp'].some(url => req.url.includes(url))) {\n this.ToLogin();\n return throwError(() => ev);\n }\n\n // 正在刷新token,所有其他请求排队\n if (this.refreshToking) {\n return this.refreshToken$.pipe(\n filter(v => !!v),\n take(1),\n switchMap(() => next.handle(this.reAttachToken(req)))\n );\n }\n\n //尝试调用刷新 Token\n this.refreshToking = true;\n this.refreshToken$.next(null);\n\n // 处理Token\n return this.refreshTokenRequest().pipe(\n switchMap(res => {\n log('yz.default.interceptor: refresh token accessed -> ', res);\n // 重新保存新 token\n this.tokenSrv.set(res);\n // 通知后续请求继续执行\n this.refreshToking = false;\n this.refreshToken$.next(res);\n // 重新发起请求\n return next.handle(this.reAttachToken(req));\n }),\n catchError(err => {\n this.refreshToking = false;\n this.ToLogin();\n return throwError(() => err);\n })\n );\n }\n\n private getAdditionalHeaders(headers?: HttpHeaders): { [name: string]: string } {\n const res: { [name: string]: string } = {};\n const lang = this.injector.get(YUNZAI_I18N_TOKEN).currentLang;\n if (!headers?.has('Accept-Language') && lang) {\n res['Accept-Language'] = lang;\n }\n return res;\n }\n\n private handleData(ev: HttpResponseBase, req: HttpRequest<any>, next: HttpHandler): Observable<any> {\n this.checkStatus(ev);\n switch (ev.status) {\n case 200:\n return of(ev);\n case 401:\n log('http401: ', req.url);\n if (this.config.refreshTokenEnabled && this.config.refreshTokenType === 're-request') {\n const unAuthorizationReq = req.clone();\n unAuthorizationReq.headers.delete('Authorization');\n return this.tryRefreshToken(ev, unAuthorizationReq, next);\n }\n this.ToLogin();\n break;\n case 403:\n case 404:\n case 500:\n if (this.jump) {\n this.goTo(`/exception/${ev.status}`);\n }\n break;\n default:\n if (ev instanceof HttpErrorResponse) {\n console.warn(\n '未可知错误,大部分是由于后端不支持跨域CORS或无效配置引起,请参考 https://ng.yunzainfo.com/docs/server 解决跨域问题',\n ev\n );\n }\n break;\n }\n if (ev instanceof HttpErrorResponse) {\n return throwError(() => ev);\n } else {\n return of(ev);\n }\n }\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n if (req.context.get(ALLOW_ANONYMOUS)) return next.handle(req);\n log('yz.default.interceptor.ts: ', 'request ', req);\n // 统一加前缀\n let url = req.url;\n if (!url.startsWith('https://') && !url.startsWith('http://')) {\n url = this.config.baseUrl + url;\n }\n if (url.includes('.json') && url.includes('assets')) {\n url = req.url;\n }\n // if (url.includes('i18n')) return next.handle(req);\n // 加入语言头\n const newReq = req.clone({ url, setHeaders: this.getAdditionalHeaders(req.headers) });\n return next.handle(newReq).pipe(\n mergeMap(ev => {\n // 允许统一对请求错误处理\n if (ev instanceof HttpResponseBase) {\n return this.handleData(ev, newReq, next);\n }\n // 若一切都正常,则后续操作\n return of(ev);\n }),\n catchError((err: HttpErrorResponse) => this.handleData(err, newReq, next))\n );\n }\n}\n\nexport { YunzaiDefaultInterceptor as YzDefaultInterceptor, YunzaiDefaultInterceptor };\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { YunzaiSharedYelonModule } from '@yelon/bcs/yunzai-shared-yelon';\nimport { YunzaiSharedZorroModule } from '@yelon/bcs/yunzai-shared-zorro';\nimport { YUNZAI_THEME_BTN_KEYS } from '@yelon/theme/theme-btn';\n\nimport { YunzaiLayoutBasicComponent } from './layout-basic/layout-basic.component';\nimport { LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent } from './layout-nav';\nimport {\n YunzaiClearStorageComponent,\n YunzaiFullScreenComponent,\n YunzaiI18NComponent,\n YunzaiNotifyComponent,\n YunzaiThemBtnComponent,\n YunzaiUserComponent\n} from './widgets';\n\nconst WIDGETS = [\n YunzaiClearStorageComponent,\n YunzaiFullScreenComponent,\n YunzaiI18NComponent,\n YunzaiNotifyComponent,\n YunzaiThemBtnComponent,\n YunzaiUserComponent\n];\n\nconst LAYOUT_NAV_COMPONENTS = [LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent];\n\nconst COMPONENTS = [YunzaiLayoutBasicComponent];\n\n@NgModule({\n imports: [\n HttpClientModule,\n CommonModule,\n FormsModule,\n RouterModule,\n ReactiveFormsModule,\n YunzaiSharedYelonModule,\n YunzaiSharedZorroModule\n ],\n providers: [\n {\n provide: YUNZAI_THEME_BTN_KEYS,\n useValue: 'site-theme'\n }\n ],\n declarations: [...COMPONENTS, ...WIDGETS, ...LAYOUT_NAV_COMPONENTS],\n exports: [...COMPONENTS, ...WIDGETS, ...LAYOUT_NAV_COMPONENTS]\n})\nexport class YunzaiLayoutModule {}\n","/*\n * Automatically generated by 'ng g ng-yunzai:plugin icon'\n * @see https://ng.yunzainfo.com/cli/plugin#icon\n */\n\nimport {\n AccountBookTwoTone,\n AccountBookFill,\n AccountBookOutline,\n AlertTwoTone,\n AlertFill,\n AlibabaOutline,\n AimOutline,\n AlipayCircleFill,\n AlertOutline,\n AlignCenterOutline,\n AlipayCircleOutline,\n AlipayOutline,\n AlignLeftOutline,\n AlignRightOutline,\n AmazonOutline,\n AliwangwangOutline,\n AliyunOutline,\n AlipaySquareFill,\n AmazonCircleFill,\n AndroidFill,\n AliwangwangFill,\n AntCloudOutline,\n AmazonSquareFill,\n AndroidOutline,\n ApartmentOutline,\n ApiTwoTone,\n ApiFill,\n ApiOutline,\n AntDesignOutline,\n AppstoreAddOutline,\n AppstoreFill,\n AppleOutline,\n AppstoreOutline,\n ArrowDownOutline,\n AppleFill,\n ArrowsAltOutline,\n AppstoreTwoTone,\n ArrowUpOutline,\n AreaChartOutline,\n ArrowLeftOutline,\n AudioFill,\n ArrowRightOutline,\n AudioTwoTone,\n AuditOutline,\n AudioMutedOutline,\n BackwardFill,\n AudioOutline,\n BackwardOutline,\n BankFill,\n BarcodeOutline,\n BellFill,\n BankTwoTone,\n BarsOutline,\n BankOutline,\n BehanceCircleFill,\n BehanceSquareFill,\n BoldOutline,\n BellOutline,\n BehanceOutline,\n BlockOutline,\n BehanceSquareOutline,\n BgColorsOutline,\n BellTwoTone,\n BarChartOutline,\n BookTwoTone,\n BookFill,\n BorderOuterOutline,\n BorderLeftOutline,\n BorderBottomOutline,\n BorderHorizontalOutline,\n BorderTopOutline,\n BorderOutline,\n BorderInnerOutline,\n BorderRightOutline,\n BoxPlotOutline,\n BoxPlotFill,\n BoxPlotTwoTone,\n BookOutline,\n BorderlessTableOutline,\n BorderVerticleOutline,\n BuildTwoTone,\n BuildOutline,\n BugFill,\n BugOutline,\n BugTwoTone,\n BulbFill,\n BulbTwoTone,\n BuildFill,\n BulbOutline,\n CalculatorFill,\n CalculatorTwoTone,\n CalendarFill,\n CalendarOutline,\n CalculatorOutline,\n CalendarTwoTone,\n CameraOutline,\n CameraFill,\n CameraTwoTone,\n CarTwoTone,\n CaretDownOutline,\n CarOutline,\n CaretLeftFill,\n CarFill,\n CaretRightOutline,\n CaretDownFill,\n CaretUpOutline,\n CaretRightFill,\n CarryOutFill,\n CarryOutOutline,\n CaretLeftOutline,\n CaretUpFill,\n BranchesOutline,\n CarryOutTwoTone,\n CheckCircleFill,\n CheckCircleOutline,\n CheckSquareOutline,\n CheckCircleTwoTone,\n CiCircleTwoTone,\n CheckOutline,\n CheckSquareTwoTone,\n CiOutline,\n CheckSquareFill,\n CiTwoTone,\n ChromeOutline,\n ClockCircleOutline,\n CiCircleOutline,\n ChromeFill,\n ClearOutline,\n CloseCircleTwoTone,\n CiCircleFill,\n CloseCircleOutline,\n ClockCircleFill,\n CloseCircleFill,\n ClockCircleTwoTone,\n CloseOutline,\n CloseSquareOutline,\n CloseSquareFill,\n CloudFill,\n CloseSquareTwoTone,\n CloudDownloadOutline,\n CloudTwoTone,\n CloudServerOutline,\n CloudUploadOutline,\n CloudSyncOutline,\n ClusterOutline,\n CodeSandboxCircleFill,\n CodeFill,\n CodepenCircleOutline,\n CloudOutline,\n CodeSandboxOutline,\n CodeOutline,\n CodeSandboxSquareFill,\n CodeTwoTone,\n CodepenSquareFill,\n CodepenOutline,\n CoffeeOutline,\n ColumnWidthOutline,\n CompressOutline,\n ColumnHeightOutline,\n CodepenCircleFill,\n CompassTwoTone,\n CommentOutline,\n ContainerFill,\n CompassOutline,\n ConsoleSqlOutline,\n ContactsOutline,\n ContainerTwoTone,\n ContactsFill,\n ContactsTwoTone,\n ContainerOutline,\n ControlFill,\n CopyFill,\n CopyOutline,\n CompassFill,\n CopyTwoTone,\n CopyrightOutline,\n CopyrightCircleOutline,\n ControlTwoTone,\n ControlOutline,\n CreditCardFill,\n CopyrightTwoTone,\n CrownFill,\n CopyrightCircleFill,\n CrownOutline,\n CustomerServiceTwoTone,\n CreditCardOutline,\n CustomerServiceOutline,\n DashboardTwoTone,\n CrownTwoTone,\n CreditCardTwoTone,\n CustomerServiceFill,\n DashboardFill,\n DashOutline,\n DatabaseOutline,\n DatabaseTwoTone,\n DatabaseFill,\n DashboardOutline,\n DeleteTwoTone,\n DeleteRowOutline,\n DeleteColumnOutline,\n DeliveredProcedureOutline,\n DeleteOutline,\n CopyrightCircleTwoTone,\n DesktopOutline,\n DeleteFill,\n DiffOutline,\n DiffFill,\n DeploymentUnitOutline,\n DiffTwoTone,\n DingtalkOutline,\n DollarCircleFill,\n DislikeFill,\n DingtalkSquareFill,\n DisconnectOutline,\n DollarCircleTwoTone,\n DollarOutline,\n DingtalkCircleFill,\n DislikeTwoTone,\n DollarTwoTone,\n DownCircleFill,\n DislikeOutline,\n DollarCircleOutline,\n DoubleLeftOutline,\n DownSquareFill,\n DownOutline,\n DownSquareOutline,\n DownSquareTwoTone,\n DownCircleTwoTone,\n DoubleRightOutline,\n DownCircleOutline,\n DownloadOutline,\n DotChartOutline,\n DribbbleCircleFill,\n DribbbleOutline,\n DribbbleSquareOutline,\n DropboxCircleFill,\n DingdingOutline,\n EditOutline,\n DribbbleSquareFill,\n DropboxSquareFill,\n EllipsisOutline,\n EnvironmentFill,\n EditFill,\n EnterOutline,\n EuroCircleFill,\n EuroTwoTone,\n EuroCircleOutline,\n EditTwoTone,\n EuroOutline,\n EnvironmentTwoTone,\n ExclamationCircleFill,\n ExpandAltOutline,\n EuroCircleTwoTone,\n ExclamationCircleTwoTone,\n EnvironmentOutline,\n ExperimentOutline,\n ExperimentFill,\n ExpandOutline,\n ExceptionOutline,\n ExportOutline,\n ExperimentTwoTone,\n ExclamationCircleOutline,\n ExclamationOutline,\n EyeFill,\n EyeInvisibleFill,\n EyeInvisibleTwoTone,\n DropboxOutline,\n DragOutline,\n FacebookOutline,\n FacebookFill,\n EyeTwoTone,\n EyeOutline,\n FastForwardFill,\n FieldBinaryOutline,\n FieldNumberOutline,\n FastBackwardOutline,\n FileAddFill,\n FastBackwardFill,\n FileExcelFill,\n FastForwardOutline,\n FieldStringOutline,\n FileDoneOutline,\n FileAddTwoTone,\n FileExcelTwoTone,\n FileExclamationFill,\n FileAddOutline,\n FileExclamationOutline,\n FieldTimeOutline,\n FileImageTwoTone,\n FileExcelOutline,\n FileExclamationTwoTone,\n FileImageFill,\n FileGifOutline,\n FileFill,\n FileMarkdownTwoTone,\n FileMarkdownOutline,\n FallOutline,\n FileImageOutline,\n EyeInvisibleOutline,\n FilePdfOutline,\n FileSearchOutline,\n FilePptTwoTone,\n FilePdfTwoTone,\n FileJpgOutline,\n FileTextFill,\n FilePptOutline,\n FileSyncOutline,\n FilePptFill,\n FileUnknownOutline,\n FileProtectOutline,\n FileTextTwoTone,\n FileWordFill,\n FileUnknownTwoTone,\n FileWordTwoTone,\n FileUnknownFill,\n FileTextOutline,\n FileZipFill,\n FilterTwoTone,\n FilterFill,\n FileWordOutline,\n FireOutline,\n FireTwoTone,\n FileZipOutline,\n FilterOutline,\n FlagTwoTone,\n FileTwoTone,\n FilePdfFill,\n FileOutline,\n FileMarkdownFill,\n FileZipTwoTone,\n FlagOutline,\n FolderAddTwoTone,\n FolderOpenFill,\n FireFill,\n FlagFill,\n FolderOutline,\n FolderViewOutline,\n FolderTwoTone,\n FontColorsOutline,\n FolderOpenTwoTone,\n FolderFill,\n ForwardOutline,\n FolderOpenOutline,\n ForkOutline,\n ForwardFill,\n FormatPainterOutline,\n FormatPainterFill,\n FormOutline,\n FrownFill,\n FrownTwoTone,\n FullscreenOutline,\n FontSizeOutline,\n FundFill,\n FunctionOutline,\n FundViewOutline,\n FullscreenExitOutline,\n GifOutline,\n FundProjectionScreenOutline,\n FundTwoTone,\n FolderAddFill,\n FunnelPlotTwoTone,\n GiftOutline,\n FunnelPlotFill,\n FundOutline,\n FrownOutline,\n GithubOutline,\n GoldFill,\n FolderAddOutline,\n GitlabFill,\n GiftFill,\n GitlabOutline,\n GoldTwoTone,\n GoogleCircleFill,\n GiftTwoTone,\n GooglePlusCircleFill,\n GoldOutline,\n GithubFill,\n GoogleOutline,\n GooglePlusOutline,\n GoogleSquareFill,\n GoldenFill,\n HddTwoTone,\n GooglePlusSquareFill,\n GlobalOutline,\n HeartOutline,\n HeartTwoTone,\n GroupOutline,\n HeartFill,\n HeatMapOutline,\n GatewayOutline,\n FunnelPlotOutline,\n HddFill,\n HomeFill,\n HighlightFill,\n HomeOutline,\n HistoryOutline,\n HighlightOutline,\n HddOutline,\n HourglassFill,\n HomeTwoTone,\n HourglassTwoTone,\n Html5Outline,\n Html5Fill,\n IdcardFill,\n Html5TwoTone,\n HourglassOutline,\n IdcardTwoTone,\n IdcardOutline,\n IeOutline,\n IeCircleFill,\n IeSquareFill,\n InboxOutline,\n ImportOutline,\n InfoCircleOutline,\n InfoCircleTwoTone,\n InsertRowAboveOutline,\n InsertRowRightOutline,\n InfoCircleFill,\n InfoOutline,\n InsertRowBelowOutline,\n HighlightTwoTone,\n InsuranceFill,\n InstagramFill,\n InteractionFill,\n InsertRowLeftOutline,\n InstagramOutline,\n InteractionOutline,\n ItalicOutline,\n InteractionTwoTone,\n LayoutOutline,\n IssuesCloseOutline,\n LayoutFill,\n LaptopOutline,\n LeftCircleFill,\n LayoutTwoTone,\n KeyOutline,\n LeftOutline,\n LeftCircleOutline,\n LeftSquareOutline,\n LeftSquareFill,\n LeftCircleTwoTone,\n LikeFill,\n LeftSquareTwoTone,\n LineOutline,\n LikeTwoTone,\n LinkedinOutline,\n LineChartOutline,\n LineHeightOutline,\n LinkedinFill,\n LinkOutline,\n LikeOutline,\n InsuranceOutline,\n Loading3QuartersOutline,\n LockFill,\n InsuranceTwoTone,\n MacCommandOutline,\n LockTwoTone,\n LoadingOutline,\n MailOutline,\n LoginOutline,\n MedicineBoxOutline,\n MailFill,\n MailTwoTone,\n MacCommandFill,\n ManOutline,\n MedicineBoxFill,\n MedicineBoxTwoTone,\n MediumCircleFill,\n MediumOutline,\n MehFill,\n MediumWorkmarkOutline,\n MenuFoldOutline,\n MehOutline,\n MediumSquareFill,\n MessageTwoTone,\n MehTwoTone,\n MergeCellsOutline,\n MinusCircleFill,\n MenuOutline,\n MenuUnfoldOutline,\n MessageFill,\n MinusCircleTwoTone,\n LockOutline,\n MinusOutline,\n MinusCircleOutline,\n LogoutOutline,\n MessageOutline,\n MoneyCollectFill,\n MinusSquareOutline,\n MinusSquareTwoTone,\n MobileOutline,\n MobileTwoTone,\n MoneyCollectOutline,\n MoreOutline,\n NotificationFill,\n NotificationOutline,\n MoneyCollectTwoTone,\n NodeIndexOutline,\n NodeExpandOutline,\n MonitorOutline,\n OrderedListOutline,\n NodeCollapseOutline,\n NumberOutline,\n PaperClipOutline,\n NotificationTwoTone,\n PauseCircleFill,\n PartitionOutline,\n PauseOutline,\n OneToOneOutline,\n PayCircleOutline,\n PayCircleFill,\n MinusSquareFill,\n PauseCircleOutline,\n PauseCircleTwoTone,\n PicCenterOutline,\n PicRightOutline,\n PercentageOutline,\n MobileFill,\n PictureOutline,\n PictureFill,\n PhoneTwoTone,\n PhoneFill,\n PieChartFill,\n PictureTwoTone,\n PieChartOutline,\n PlaySquareFill,\n PlayCircleTwoTone,\n PlayCircleFill,\n PlusCircleFill,\n PlaySquareTwoTone,\n PlaySquareOutline,\n PlayCircleOutline,\n PieChartTwoTone,\n PlusCircleOutline,\n PlusSquareFill,\n PoundCircleFill,\n PlusSquareOutline,\n PlusOutline,\n PoundOutline,\n PoundCircleOutline,\n PlusSquareTwoTone,\n PlusCircleTwoTone,\n PoweroffOutline,\n PoundCircleTwoTone,\n PhoneOutline,\n PrinterFill,\n PicLeftOutline,\n ProjectTwoTone,\n PrinterOutline,\n ProjectFill,\n ProfileOutline,\n ProfileTwoTone,\n ProjectOutline,\n PropertySafetyFill,\n PullRequestOutline,\n PropertySafetyOutline,\n PushpinOutline,\n PushpinTwoTone,\n PropertySafetyTwoTone,\n PushpinFill,\n QqOutline,\n QqCircleFill,\n QrcodeOutline,\n QqSquareFill,\n QuestionCircleTwoTone,\n QuestionCircleFill,\n RadarChartOutline,\n RadiusUprightOutline,\n QuestionCircleOutline,\n QuestionOutline,\n ReadFill,\n RadiusUpleftOutline,\n RadiusBottomleftOutline,\n RadiusSettingOutline,\n RadiusBottomrightOutline,\n ProfileFill,\n PrinterTwoTone,\n ReadOutline,\n ReconciliationFill,\n ReloadOutline,\n ReconciliationOutline,\n RedEnvelopeTwoTone,\n RedditCircleFill,\n RedoOutline,\n RedEnvelopeFill,\n RedditOutline,\n RestTwoTone,\n RightCircleOutline,\n RestOutline,\n RedditSquareFill,\n RestFill,\n RightCircleTwoTone,\n RightOutline,\n RightSquareFill,\n RightCircleFill,\n RightSquareOutline,\n RetweetOutline,\n RiseOutline,\n RightSquareTwoTone,\n RobotFill,\n RocketOutline,\n RobotOutline,\n RocketTwoTone,\n RocketFill,\n RedEnvelopeOutline,\n RollbackOutline,\n RotateRightOutline,\n RotateLeftOutline,\n ReconciliationTwoTone,\n SafetyCertificateTwoTone,\n SaveOutline,\n SafetyOutline,\n SaveFill,\n SaveTwoTone,\n ScheduleFill,\n SafetyCertificateOutline,\n ScanOutline,\n ScheduleTwoTone,\n SearchOutline,\n ScheduleOutline,\n SecurityScanTwoTone,\n SecurityScanOutline,\n ScissorOutline,\n SelectOutline,\n SecurityScanFill,\n SendOutline,\n SettingOutline,\n SettingTwoTone,\n SettingFill,\n ShareAltOutline,\n ShopOutline,\n ShopFill,\n ShopTwoTone,\n ShrinkOutline,\n ShakeOutline,\n ShoppingOutline,\n ShoppingCartOutline,\n ShoppingFill,\n SisternodeOutline,\n ShoppingTwoTone,\n SafetyCertificateFill,\n SkinOutline,\n SignalFill,\n SketchOutline,\n SkinTwoTone,\n SketchSquareFill,\n SkypeFill,\n SkinFill,\n SlackCircleFill,\n SlackSquareFill,\n SlidersTwoTone,\n SkypeOutline,\n SlidersFill,\n SlackSquareOutline,\n SmallDashOutline,\n SmileTwoTone,\n SlidersOutline,\n SnippetsFill,\n SnippetsOutline,\n SmileOutline,\n SolutionOutline,\n SlackOutline,\n SnippetsTwoTone,\n SoundTwoTone,\n SortAscendingOutline,\n SoundFill,\n SortDescendingOutline,\n SmileFill,\n SoundOutline,\n SplitCellsOutline,\n SketchCircleFill,\n StarOutline,\n StockOutline,\n StarTwoTone,\n StepForwardFill,\n StarFill,\n StepBackwardFill,\n StepForwardOutline,\n StopFill,\n SubnodeOutline,\n SwapLeftOutline,\n StopOutline,\n StopTwoTone,\n SwapRightOutline,\n SwapOutline,\n SwitcherTwoTone,\n SwitcherOutline,\n SyncOutline,\n StrikethroughOutline,\n SwitcherFill,\n TagOutline,\n TabletTwoTone,\n TabletOutline,\n TabletFill,\n TableOutline,\n TagsFill,\n TagFill,\n TagsTwoTone,\n TaobaoCircleOutline,\n StepBackwardOutline,\n TagsOutline,\n TagTwoTone,\n TaobaoOutline,\n ThunderboltOutline,\n TaobaoSquareFill,\n TeamOutline,\n TaobaoCircleFill,\n ThunderboltTwoTone,\n ToolFill,\n ThunderboltFill,\n ToTopOutline,\n ToolOutline,\n ToolTwoTone,\n TrademarkCircleFill,\n TrophyFill,\n TrademarkCircleTwoTone,\n TransactionOutline,\n TrademarkCircleOutline,\n TranslationOutline,\n TwitterCircleFill,\n TrophyOutline,\n TrademarkOutline,\n TrophyTwoTone,\n TwitterSquareFill,\n UnlockFill,\n TwitterOutline,\n UnderlineOutline,\n UndoOutline,\n UpCircleFill,\n UngroupOutline,\n UnlockTwoTone,\n UnlockOutline,\n UpOutline,\n UsbFill,\n UpCircleOutline,\n UnorderedListOutline,\n UpCircleTwoTone,\n UpSquareFill,\n UpSquareOutline,\n UserAddOutline,\n UsbTwoTone,\n UsergroupDeleteOutline,\n UpSquareTwoTone,\n UserOutline,\n UsbOutline,\n UserDeleteOutline,\n UserSwitchOutline,\n VerticalLeftOutline,\n VerticalAlignBottomOutline,\n VerifiedOutline,\n UsergroupAddOutline,\n UploadOutline,\n VerticalAlignMiddleOutline,\n VerticalAlignTopOutline,\n VerticalRightOutline,\n VideoCameraOutline,\n VideoCameraAddOutline,\n VideoCameraTwoTone,\n VideoCameraFill,\n WalletOutline,\n WalletFill,\n WarningFill,\n WarningOutline,\n WechatOutline,\n WalletTwoTone,\n WeiboCircleFill,\n WarningTwoTone,\n WeiboSquareFill,\n WeiboOutline,\n WeiboSquareOutline,\n WeiboCircleOutline,\n WechatFill,\n WhatsAppOutline,\n WifiOutline,\n WomanOutline,\n YoutubeFill,\n YahooOutline,\n WindowsFill,\n WindowsOutline,\n YoutubeOutline,\n YuqueOutline,\n ZhihuCircleFill,\n YuqueFill,\n ZhihuOutline,\n ZhihuSquareFill,\n ZoomInOutline,\n ZoomOutOutline,\n YahooFill\n} from '@ant-design/icons-angular/icons';\n\nexport const ICONS = [\n AccountBookTwoTone,\n AccountBookFill,\n AccountBookOutline,\n AlertTwoTone,\n AlertFill,\n AlibabaOutline,\n AimOutline,\n AlipayCircleFill,\n AlertOutline,\n AlignCenterOutline,\n AlipayCircleOutline,\n AlipayOutline,\n AlignLeftOutline,\n AlignRightOutline,\n AmazonOutline,\n AliwangwangOutline,\n AliyunOutline,\n AlipaySquareFill,\n AmazonCircleFill,\n AndroidFill,\n AliwangwangFill,\n AntCloudOutline,\n AmazonSquareFill,\n AndroidOutline,\n ApartmentOutline,\n ApiTwoTone,\n ApiFill,\n ApiOutline,\n AntDesignOutline,\n AppstoreAddOutline,\n AppstoreFill,\n AppleOutline,\n AppstoreOutline,\n ArrowDownOutline,\n AppleFill,\n ArrowsAltOutline,\n AppstoreTwoTone,\n ArrowUpOutline,\n AreaChartOutline,\n ArrowLeftOutline,\n AudioFill,\n ArrowRightOutline,\n AudioTwoTone,\n AuditOutline,\n AudioMutedOutline,\n BackwardFill,\n AudioOutline,\n BackwardOutline,\n BankFill,\n BarcodeOutline,\n BellFill,\n BankTwoTone,\n BarsOutline,\n BankOutline,\n BehanceCircleFill,\n BehanceSquareFill,\n BoldOutline,\n BellOutline,\n BehanceOutline,\n BlockOutline,\n BehanceSquareOutline,\n BgColorsOutline,\n BellTwoTone,\n BarChartOutline,\n BookTwoTone,\n BookFill,\n BorderOuterOutline,\n BorderLeftOutline,\n BorderBottomOutline,\n BorderHorizontalOutline,\n BorderTopOutline,\n BorderOutline,\n BorderInnerOutline,\n BorderRightOutline,\n BoxPlotOutline,\n BoxPlotFill,\n BoxPlotTwoTone,\n BookOutline,\n BorderlessTableOutline,\n BorderVerticleOutline,\n BuildTwoTone,\n BuildOutline,\n BugFill,\n BugOutline,\n BugTwoTone,\n BulbFill,\n BulbTwoTone,\n BuildFill,\n BulbOutline,\n CalculatorFill,\n CalculatorTwoTone,\n CalendarFill,\n CalendarOutline,\n CalculatorOutline,\n CalendarTwoTone,\n CameraOutline,\n CameraFill,\n CameraTwoTone,\n CarTwoTone,\n CaretDownOutline,\n CarOutline,\n CaretLeftFill,\n CarFill,\n CaretRightOutline,\n CaretDownFill,\n CaretUpOutline,\n CaretRightFill,\n CarryOutFill,\n CarryOutOutline,\n CaretLeftOutline,\n CaretUpFill,\n BranchesOutline,\n CarryOutTwoTone,\n CheckCircleFill,\n CheckCircleOutline,\n CheckSquareOutline,\n CheckCircleTwoTone,\n CiCircleTwoTone,\n CheckOutline,\n CheckSquareTwoTone,\n CiOutline,\n CheckSquareFill,\n CiTwoTone,\n ChromeOutline,\n ClockCircleOutline,\n CiCircleOutline,\n ChromeFill,\n ClearOutline,\n CloseCircleTwoTone,\n CiCircleFill,\n CloseCircleOutline,\n ClockCircleFill,\n CloseCircleFill,\n ClockCircleTwoTone,\n CloseOutline,\n CloseSquareOutline,\n CloseSquareFill,\n CloudFill,\n CloseSquareTwoTone,\n CloudDownloadOutline,\n CloudTwoTone,\n CloudServerOutline,\n CloudUploadOutline,\n CloudSyncOutline,\n ClusterOutline,\n CodeSandboxCircleFill,\n CodeFill,\n CodepenCircleOutline,\n CloudOutline,\n CodeSandboxOutline,\n CodeOutline,\n CodeSandboxSquareFill,\n CodeTwoTone,\n CodepenSquareFill,\n CodepenOutline,\n CoffeeOutline,\n ColumnWidthOutline,\n CompressOutline,\n ColumnHeightOutline,\n CodepenCircleFill,\n CompassTwoTone,\n CommentOutline,\n ContainerFill,\n CompassOutline,\n ConsoleSqlOutline,\n ContactsOutline,\n ContainerTwoTone,\n ContactsFill,\n ContactsTwoTone,\n ContainerOutline,\n ControlFill,\n CopyFill,\n CopyOutline,\n CompassFill,\n CopyTwoTone,\n CopyrightOutline,\n CopyrightCircleOutline,\n ControlTwoTone,\n ControlOutline,\n CreditCardFill,\n CopyrightTwoTone,\n CrownFill,\n CopyrightCircleFill,\n CrownOutline,\n CustomerServiceTwoTone,\n CreditCardOutline,\n CustomerServiceOutline,\n DashboardTwoTone,\n CrownTwoTone,\n CreditCardTwoTone,\n CustomerServiceFill,\n DashboardFill,\n DashOutline,\n DatabaseOutline,\n DatabaseTwoTone,\n DatabaseFill,\n DashboardOutline,\n DeleteTwoTone,\n DeleteRowOutline,\n DeleteColumnOutline,\n DeliveredProcedureOutline,\n DeleteOutline,\n CopyrightCircleTwoTone,\n DesktopOutline,\n DeleteFill,\n DiffOutline,\n DiffFill,\n DeploymentUnitOutline,\n DiffTwoTone,\n DingtalkOutline,\n DollarCircleFill,\n DislikeFill,\n DingtalkSquareFill,\n DisconnectOutline,\n DollarCircleTwoTone,\n DollarOutline,\n DingtalkCircleFill,\n DislikeTwoTone,\n DollarTwoTone,\n DownCircleFill,\n DislikeOutline,\n DollarCircleOutline,\n DoubleLeftOutline,\n DownSquareFill,\n DownOutline,\n DownSquareOutline,\n DownSquareTwoTone,\n DownCircleTwoTone,\n DoubleRightOutline,\n DownCircleOutline,\n DownloadOutline,\n DotChartOutline,\n DribbbleCircleFill,\n DribbbleOutline,\n DribbbleSquareOutline,\n DropboxCircleFill,\n DingdingOutline,\n EditOutline,\n DribbbleSquareFill,\n DropboxSquareFill,\n EllipsisOutline,\n EnvironmentFill,\n EditFill,\n EnterOutline,\n EuroCircleFill,\n EuroTwoTone,\n EuroCircleOutline,\n EditTwoTone,\n EuroOutline,\n EnvironmentTwoTone,\n ExclamationCircleFill,\n ExpandAltOutline,\n EuroCircleTwoTone,\n ExclamationCircleTwoTone,\n EnvironmentOutline,\n ExperimentOutline,\n ExperimentFill,\n ExpandOutline,\n ExceptionOutline,\n ExportOutline,\n ExperimentTwoTone,\n ExclamationCircleOutline,\n ExclamationOutline,\n EyeFill,\n EyeInvisibleFill,\n EyeInvisibleTwoTone,\n DropboxOutline,\n DragOutline,\n FacebookOutline,\n FacebookFill,\n EyeTwoTone,\n EyeOutline,\n FastForwardFill,\n FieldBinaryOutline,\n FieldNumberOutline,\n FastBackwardOutline,\n FileAddFill,\n FastBackwardFill,\n FileExcelFill,\n FastForwardOutline,\n FieldStringOutline,\n FileDoneOutline,\n FileAddTwoTone,\n FileExcelTwoTone,\n FileExclamationFill,\n FileAddOutline,\n FileExclamationOutline,\n FieldTimeOutline,\n FileImageTwoTone,\n FileExcelOutline,\n FileExclamationTwoTone,\n FileImageFill,\n FileGifOutline,\n FileFill,\n FileMarkdownTwoTone,\n FileMarkdownOutline,\n FallOutline,\n FileImageOutline,\n EyeInvisibleOutline,\n FilePdfOutline,\n FileSearchOutline,\n FilePptTwoTone,\n FilePdfTwoTone,\n FileJpgOutline,\n FileTextFill,\n FilePptOutline,\n FileSyncOutline,\n FilePptFill,\n FileUnknownOutline,\n FileProtectOutline,\n FileTextTwoTone,\n FileWordFill,\n FileUnknownTwoTone,\n FileWordTwoTone,\n FileUnknownFill,\n FileTextOutline,\n FileZipFill,\n FilterTwoTone,\n FilterFill,\n FileWordOutline,\n FireOutline,\n FireTwoTone,\n FileZipOutline,\n FilterOutline,\n FlagTwoTone,\n FileTwoTone,\n FilePdfFill,\n FileOutline,\n FileMarkdownFill,\n FileZipTwoTone,\n FlagOutline,\n FolderAddTwoTone,\n FolderOpenFill,\n FireFill,\n FlagFill,\n FolderOutline,\n FolderViewOutline,\n FolderTwoTone,\n FontColorsOutline,\n FolderOpenTwoTone,\n FolderFill,\n ForwardOutline,\n FolderOpenOutline,\n ForkOutline,\n ForwardFill,\n FormatPainterOutline,\n FormatPainterFill,\n FormOutline,\n FrownFill,\n FrownTwoTone,\n FullscreenOutline,\n FontSizeOutline,\n FundFill,\n FunctionOutline,\n FundViewOutline,\n FullscreenExitOutline,\n GifOutline,\n FundProjectionScreenOutline,\n FundTwoTone,\n FolderAddFill,\n FunnelPlotTwoTone,\n GiftOutline,\n FunnelPlotFill,\n FundOutline,\n FrownOutline,\n GithubOutline,\n GoldFill,\n FolderAddOutline,\n GitlabFill,\n GiftFill,\n GitlabOutline,\n GoldTwoTone,\n GoogleCircleFill,\n GiftTwoTone,\n GooglePlusCircleFill,\n GoldOutline,\n GithubFill,\n GoogleOutline,\n GooglePlusOutline,\n GoogleSquareFill,\n GoldenFill,\n HddTwoTone,\n GooglePlusSquareFill,\n GlobalOutline,\n HeartOutline,\n HeartTwoTone,\n GroupOutline,\n HeartFill,\n HeatMapOutline,\n GatewayOutline,\n FunnelPlotOutline,\n HddFill,\n HomeFill,\n HighlightFill,\n HomeOutline,\n HistoryOutline,\n HighlightOutline,\n HddOutline,\n HourglassFill,\n HomeTwoTone,\n HourglassTwoTone,\n Html5Outline,\n Html5Fill,\n IdcardFill,\n Html5TwoTone,\n HourglassOutline,\n IdcardTwoTone,\n IdcardOutline,\n IeOutline,\n IeCircleFill,\n IeSquareFill,\n InboxOutline,\n ImportOutline,\n InfoCircleOutline,\n InfoCircleTwoTone,\n InsertRowAboveOutline,\n InsertRowRightOutline,\n InfoCircleFill,\n InfoOutline,\n InsertRowBelowOutline,\n HighlightTwoTone,\n InsuranceFill,\n InstagramFill,\n InteractionFill,\n InsertRowLeftOutline,\n InstagramOutline,\n InteractionOutline,\n ItalicOutline,\n InteractionTwoTone,\n LayoutOutline,\n IssuesCloseOutline,\n LayoutFill,\n LaptopOutline,\n LeftCircleFill,\n LayoutTwoTone,\n KeyOutline,\n LeftOutline,\n LeftCircleOutline,\n LeftSquareOutline,\n LeftSquareFill,\n LeftCircleTwoTone,\n LikeFill,\n LeftSquareTwoTone,\n LineOutline,\n LikeTwoTone,\n LinkedinOutline,\n LineChartOutline,\n LineHeightOutline,\n LinkedinFill,\n LinkOutline,\n LikeOutline,\n InsuranceOutline,\n Loading3QuartersOutline,\n LockFill,\n InsuranceTwoTone,\n MacCommandOutline,\n LockTwoTone,\n LoadingOutline,\n MailOutline,\n LoginOutline,\n MedicineBoxOutline,\n MailFill,\n MailTwoTone,\n MacCommandFill,\n ManOutline,\n MedicineBoxFill,\n MedicineBoxTwoTone,\n MediumCircleFill,\n MediumOutline,\n MehFill,\n MediumWorkmarkOutline,\n MenuFoldOutline,\n MehOutline,\n MediumSquareFill,\n MessageTwoTone,\n MehTwoTone,\n MergeCellsOutline,\n MinusCircleFill,\n MenuOutline,\n MenuUnfoldOutline,\n MessageFill,\n MinusCircleTwoTone,\n LockOutline,\n MinusOutline,\n MinusCircleOutline,\n LogoutOutline,\n MessageOutline,\n MoneyCollectFill,\n MinusSquareOutline,\n MinusSquareTwoTone,\n MobileOutline,\n MobileTwoTone,\n MoneyCollectOutline,\n MoreOutline,\n NotificationFill,\n NotificationOutline,\n MoneyCollectTwoTone,\n NodeIndexOutline,\n NodeExpandOutline,\n MonitorOutline,\n OrderedListOutline,\n NodeCollapseOutline,\n NumberOutline,\n PaperClipOutline,\n NotificationTwoTone,\n PauseCircleFill,\n PartitionOutline,\n PauseOutline,\n OneToOneOutline,\n PayCircleOutline,\n PayCircleFill,\n MinusSquareFill,\n PauseCircleOutline,\n PauseCircleTwoTone,\n PicCenterOutline,\n PicRightOutline,\n PercentageOutline,\n MobileFill,\n PictureOutline,\n PictureFill,\n PhoneTwoTone,\n PhoneFill,\n PieChartFill,\n PictureTwoTone,\n PieChartOutline,\n PlaySquareFill,\n PlayCircleTwoTone,\n PlayCircleFill,\n PlusCircleFill,\n PlaySquareTwoTone,\n PlaySquareOutline,\n PlayCircleOutline,\n PieChartTwoTone,\n PlusCircleOutline,\n PlusSquareFill,\n PoundCircleFill,\n PlusSquareOutline,\n PlusOutline,\n PoundOutline,\n PoundCircleOutline,\n PlusSquareTwoTone,\n PlusCircleTwoTone,\n PoweroffOutline,\n PoundCircleTwoTone,\n PhoneOutline,\n PrinterFill,\n PicLeftOutline,\n ProjectTwoTone,\n PrinterOutline,\n ProjectFill,\n ProfileOutline,\n ProfileTwoTone,\n ProjectOutline,\n PropertySafetyFill,\n PullRequestOutline,\n PropertySafetyOutline,\n PushpinOutline,\n PushpinTwoTone,\n PropertySafetyTwoTone,\n PushpinFill,\n QqOutline,\n QqCircleFill,\n QrcodeOutline,\n QqSquareFill,\n QuestionCircleTwoTone,\n QuestionCircleFill,\n RadarChartOutline,\n RadiusUprightOutline,\n QuestionCircleOutline,\n QuestionOutline,\n ReadFill,\n RadiusUpleftOutline,\n RadiusBottomleftOutline,\n RadiusSettingOutline,\n RadiusBottomrightOutline,\n ProfileFill,\n PrinterTwoTone,\n ReadOutline,\n ReconciliationFill,\n ReloadOutline,\n ReconciliationOutline,\n RedEnvelopeTwoTone,\n RedditCircleFill,\n RedoOutline,\n RedEnvelopeFill,\n RedditOutline,\n RestTwoTone,\n RightCircleOutline,\n RestOutline,\n RedditSquareFill,\n RestFill,\n RightCircleTwoTone,\n RightOutline,\n RightSquareFill,\n RightCircleFill,\n RightSquareOutline,\n RetweetOutline,\n RiseOutline,\n RightSquareTwoTone,\n RobotFill,\n RocketOutline,\n RobotOutline,\n RocketTwoTone,\n RocketFill,\n RedEnvelopeOutline,\n RollbackOutline,\n RotateRightOutline,\n RotateLeftOutline,\n ReconciliationTwoTone,\n SafetyCertificateTwoTone,\n SaveOutline,\n SafetyOutline,\n SaveFill,\n SaveTwoTone,\n ScheduleFill,\n SafetyCertificateOutline,\n ScanOutline,\n ScheduleTwoTone,\n SearchOutline,\n ScheduleOutline,\n SecurityScanTwoTone,\n SecurityScanOutline,\n ScissorOutline,\n SelectOutline,\n SecurityScanFill,\n SendOutline,\n SettingOutline,\n SettingTwoTone,\n SettingFill,\n ShareAltOutline,\n ShopOutline,\n ShopFill,\n ShopTwoTone,\n ShrinkOutline,\n ShakeOutline,\n ShoppingOutline,\n ShoppingCartOutline,\n ShoppingFill,\n SisternodeOutline,\n ShoppingTwoTone,\n SafetyCertificateFill,\n SkinOutline,\n SignalFill,\n SketchOutline,\n SkinTwoTone,\n SketchSquareFill,\n SkypeFill,\n SkinFill,\n SlackCircleFill,\n SlackSquareFill,\n SlidersTwoTone,\n SkypeOutline,\n SlidersFill,\n SlackSquareOutline,\n SmallDashOutline,\n SmileTwoTone,\n SlidersOutline,\n SnippetsFill,\n SnippetsOutline,\n SmileOutline,\n SolutionOutline,\n SlackOutline,\n SnippetsTwoTone,\n SoundTwoTone,\n SortAscendingOutline,\n SoundFill,\n SortDescendingOutline,\n SmileFill,\n SoundOutline,\n SplitCellsOutline,\n SketchCircleFill,\n StarOutline,\n StockOutline,\n StarTwoTone,\n StepForwardFill,\n StarFill,\n StepBackwardFill,\n StepForwardOutline,\n StopFill,\n SubnodeOutline,\n SwapLeftOutline,\n StopOutline,\n StopTwoTone,\n SwapRightOutline,\n SwapOutline,\n SwitcherTwoTone,\n SwitcherOutline,\n SyncOutline,\n StrikethroughOutline,\n SwitcherFill,\n TagOutline,\n TabletTwoTone,\n TabletOutline,\n TabletFill,\n TableOutline,\n TagsFill,\n TagFill,\n TagsTwoTone,\n TaobaoCircleOutline,\n StepBackwardOutline,\n TagsOutline,\n TagTwoTone,\n TaobaoOutline,\n ThunderboltOutline,\n TaobaoSquareFill,\n TeamOutline,\n TaobaoCircleFill,\n ThunderboltTwoTone,\n ToolFill,\n ThunderboltFill,\n ToTopOutline,\n ToolOutline,\n ToolTwoTone,\n TrademarkCircleFill,\n TrophyFill,\n TrademarkCircleTwoTone,\n TransactionOutline,\n TrademarkCircleOutline,\n TranslationOutline,\n TwitterCircleFill,\n TrophyOutline,\n TrademarkOutline,\n TrophyTwoTone,\n TwitterSquareFill,\n UnlockFill,\n TwitterOutline,\n UnderlineOutline,\n UndoOutline,\n UpCircleFill,\n UngroupOutline,\n UnlockTwoTone,\n UnlockOutline,\n UpOutline,\n UsbFill,\n UpCircleOutline,\n UnorderedListOutline,\n UpCircleTwoTone,\n UpSquareFill,\n UpSquareOutline,\n UserAddOutline,\n UsbTwoTone,\n UsergroupDeleteOutline,\n UpSquareTwoTone,\n UserOutline,\n UsbOutline,\n UserDeleteOutline,\n UserSwitchOutline,\n VerticalLeftOutline,\n VerticalAlignBottomOutline,\n VerifiedOutline,\n UsergroupAddOutline,\n UploadOutline,\n VerticalAlignMiddleOutline,\n VerticalAlignTopOutline,\n VerticalRightOutline,\n VideoCameraOutline,\n VideoCameraAddOutline,\n VideoCameraTwoTone,\n VideoCameraFill,\n WalletOutline,\n WalletFill,\n WarningFill,\n WarningOutline,\n WechatOutline,\n WalletTwoTone,\n WeiboCircleFill,\n WarningTwoTone,\n WeiboSquareFill,\n WeiboOutline,\n WeiboSquareOutline,\n WeiboCircleOutline,\n WechatFill,\n WhatsAppOutline,\n WifiOutline,\n WomanOutline,\n YoutubeFill,\n YahooOutline,\n WindowsFill,\n WindowsOutline,\n YoutubeOutline,\n YuqueOutline,\n ZhihuCircleFill,\n YuqueFill,\n ZhihuOutline,\n ZhihuSquareFill,\n ZoomInOutline,\n ZoomOutOutline,\n YahooFill\n];\n","import { APP_INITIALIZER, Inject, Injectable } from '@angular/core';\nimport { Observable, mergeMap, of } from 'rxjs';\n\nimport { ACLService } from '@yelon/acl';\nimport { Menu, MenuService, SettingsService, TitleService, YUNZAI_I18N_TOKEN } from '@yelon/theme';\nimport {\n YunzaiMenu,\n WINDOW,\n YunzaiBusinessConfig,\n YunzaiConfigService,\n deepCopy,\n log,\n YunzaiMenuAttribute,\n useLocalStorageCurrent,\n useLocalStorageUser,\n useLocalStorageDefaultRoute\n} from '@yelon/util';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconService } from 'ng-zorro-antd/icon';\n\nimport { BUSINESS_DEFAULT_CONFIG, mergeBisConfig } from './bis.config';\nimport { ICONS } from './icon/style-icons';\nimport { YunzaiAuthService } from './yunzai-auth.service';\nimport { YunzaiI18NService } from './yunzai-i18n.service';\n\n@Injectable()\nexport class YunzaiStartupService {\n private config: YunzaiBusinessConfig = BUSINESS_DEFAULT_CONFIG;\n\n constructor(\n iconSrv: NzIconService,\n private menuService: MenuService,\n @Inject(YUNZAI_I18N_TOKEN) private i18n: YunzaiI18NService,\n @Inject(WINDOW) private win: NzSafeAny,\n private settingService: SettingsService,\n private aclService: ACLService,\n private titleService: TitleService,\n private yzAuthService: YunzaiAuthService,\n private configService: YunzaiConfigService\n ) {\n this.config = mergeBisConfig(this.configService);\n iconSrv.addIcon(...ICONS);\n }\n\n load(): Observable<void> {\n log('startup.service: ', 'load');\n let defaultLang: string = this.settingService.layout.lang || this.i18n.defaultLang;\n return this.yzAuthService.login().pipe(\n mergeMap(() => {\n return this.i18n.loadLangData(defaultLang);\n }),\n mergeMap(langData => {\n log('startup.service: ', 'set i18n, defaultLang->', defaultLang, ' langData->', langData);\n this.i18n.use(defaultLang!, langData);\n return of(void 0);\n }),\n mergeMap(v => {\n this.systemInit();\n log('startup.service: preloader finish');\n if (this.win && this.win.appBootstrap) {\n this.win.appBootstrap();\n }\n return of(v);\n })\n );\n }\n\n systemInit(): void {\n log('startup.service: system init');\n const [setCurrent] = useLocalStorageCurrent();\n const [, getUser] = useLocalStorageUser();\n const [setDefaultRoute] = useLocalStorageDefaultRoute();\n const yunzaiUser = getUser()!;\n // @ts-ignore\n const yunzaiMenus: YunzaiMenu[] = deepCopy(yunzaiUser.menu).filter(\n m => m.systemCode && m.systemCode === this.config.systemCode\n );\n mapYzSideToYelonMenu(yunzaiMenus);\n const currentMenu = yunzaiMenus.pop();\n if (currentMenu) {\n this.settingService.setApp({ name: currentMenu.text, description: currentMenu.intro });\n this.settingService.setUser({\n name: yunzaiUser.realname,\n avatar: `${this.config.baseUrl}/filecenter/file/${yunzaiUser.avatarId}` || '',\n email: yunzaiUser.email\n });\n this.titleService.default = currentMenu && currentMenu.text ? currentMenu.text : 'default application name';\n this.titleService.setTitle(currentMenu && currentMenu.text ? currentMenu.text : 'no title');\n const abilities: string[] = [];\n generateAbility([currentMenu], abilities, '');\n this.aclService.attachRole(\n yunzaiUser?.roles\n .map((role: NzSafeAny) => {\n return role.roleValue;\n })\n .filter((a: NzSafeAny) => !!a) || []\n );\n this.aclService.attachAbility(abilities);\n this.menuService.add([currentMenu as Menu]);\n setCurrent({\n name: currentMenu.text,\n intro: currentMenu.intro || '',\n icon: currentMenu.appIconUrl || './assets/tmp/img/avatar.jpg'\n });\n const attributes = currentMenu.attribute;\n if (attributes) {\n const attr: YunzaiMenuAttribute = JSON.parse(attributes);\n if (attr && attr.defaultRoute) {\n setDefaultRoute(attr.defaultRoute);\n } else {\n setDefaultRoute('/displayIndex');\n }\n } else {\n setDefaultRoute('/displayIndex');\n }\n }\n }\n}\n\nexport function mapYzSideToYelonMenu(menus: YunzaiMenu[]): void {\n menus.forEach(menu => {\n if (menu.children && menu.hideChildren) {\n menu.children.forEach(c => (c.hide = true));\n }\n menu.badgeDot = menu.badge_dot || null;\n menu.badgeStatus = menu.badge_status || null;\n menu.shortcutRoot = menu.shortcut_root || null;\n menu.reuse = true;\n if (menu.children) {\n mapYzSideToYelonMenu(menu.children);\n }\n });\n}\n\nexport function generateAbility(menus: YunzaiMenu[], abilities: string[], prefix: string): void {\n menus.forEach(menu => {\n if (menu.link) {\n prefix += menu.link;\n } else {\n prefix += '';\n }\n if (menu.menuAuths) {\n menu.menuAuths.forEach((a: string) => {\n abilities.push(`${prefix}:${a}`);\n abilities.push(a);\n });\n }\n\n if (menu.children) {\n generateAbility(menu.children, abilities, prefix);\n }\n });\n}\n\nexport function YunzaiStartupServiceFactory(startupService: YunzaiStartupService): () => Observable<void> {\n return () => startupService.load();\n}\n\n//@ts-ignore\nexport const YUNZAI_APPINIT_PROVIDES = [\n YunzaiStartupService,\n {\n provide: APP_INITIALIZER,\n useFactory: YunzaiStartupServiceFactory,\n deps: [YunzaiStartupService],\n multi: true\n }\n];\n","// 埋点转换表\nexport const HTML_NAMES_MAPPING = {\n _route_icon: '路由-图标',\n _route_link: '路由-跳转',\n _route_toggle: '路由-显示/隐藏',\n _route_group: '路由-分组',\n _route_user: '路由-用户头像',\n _route_backhome: '路由-返回首页',\n _nav_search: '导航-搜索',\n _nav_topic: '导航-主题',\n _nav_item: '导航-应用',\n _nav_notify: '导航-铃铛',\n _nav_msg: '导航-消息',\n _nav_todo: '导航-待办',\n _nav_notice: '导航-通知',\n _nav_clear_msg: '导航-清空消息',\n _nav_clear_todo: '导航-清空待办',\n _nav_clear_notice: '导航-清空通知',\n _nav_theme: '导航-主题',\n _nav_settings: '导航-设置',\n _nav_user: '导航-用户头像',\n _nav_lang: '导航-语言',\n _nav_logo: '导航-Logo',\n _nav_toggle: '导航-显示/隐藏',\n _nav_app: '导航-应用与服务',\n _reusetab: '多标签',\n _reusetab_refresh: '多标签-刷新',\n _reusetab_close: '多标签-关闭',\n _reusetab_closeOther: '多标签-关闭其他',\n _reusetab_closeRight: '多标签-关闭右侧',\n _reusetab_custom: '多标签-自定义'\n};\n","import { Inject, inject, Injectable } from '@angular/core';\nimport { CanActivateChildFn, CanActivateFn } from '@angular/router';\n\nimport { ITokenService, YA_SERVICE_TOKEN } from '@yelon/auth';\nimport { Menu } from '@yelon/theme';\nimport {\n deepCopy,\n PathToRegexpService,\n useLocalStorageUser,\n WINDOW,\n YunzaiBusinessConfig,\n YunzaiConfigService,\n YunzaiUser\n} from '@yelon/util';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { BUSINESS_DEFAULT_CONFIG, mergeBisConfig } from './bis.config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class YunzaiAnalysisAddonGuardService {\n private bis: YunzaiBusinessConfig = BUSINESS_DEFAULT_CONFIG;\n private menus: NzSafeAny[] = [];\n private links: Array<{ title: string; link: string }> = [];\n private value: NzSafeAny = {};\n\n constructor(\n private configService: YunzaiConfigService,\n private pathToRegexp: PathToRegexpService,\n @Inject(WINDOW) private win: any,\n @Inject(YA_SERVICE_TOKEN) private tokenService: ITokenService\n ) {\n this.bis = mergeBisConfig(this.configService);\n const [, getUser] = useLocalStorageUser();\n const user: YunzaiUser = getUser()!;\n // @ts-ignore\n this.menus = deepCopy((user.menu as any) || []).filter(\n (m: Menu) => m.systemCode && m.systemCode === this.bis.systemCode\n ) as Menu[];\n if (user) {\n this.value = {\n userid: user.id,\n realname: user.realname,\n usertype: user.userType,\n usercode: user.userCode,\n username: user.username,\n account: user.username,\n deptid: user.deptId,\n deptname: user.deptName,\n token: this.tokenService.get()?.access_token\n };\n }\n if (this.menus && this.menus.length > 0) {\n this.value['system'] = (this.menus[0] as Menu).text;\n }\n this.getAllLinks(this.menus, this.links);\n }\n\n process(url: string): boolean {\n let flag = false;\n this.links.forEach(link => {\n if (link.link === url.split('?')[0]) {\n flag = true;\n this.value['routename'] = link.title;\n this.value['routeurl'] = link.link;\n if (this.win['yunzai']) {\n this.win['yunzai'].setExtra(this.value);\n }\n return;\n }\n const regexp: RegExp = this.pathToRegexp.stringToRegexp(link, null, null);\n if (regexp.test(url.split('?')[0])) {\n flag = true;\n this.value['routename'] = link.title;\n this.value['routeurl'] = link.link;\n if (this.win['yunzai']) {\n this.win['yunzai'].setExtra(this.value);\n }\n return;\n }\n });\n if (!flag) {\n this.value['routename'] = url;\n this.value['routeurl'] = url;\n if (this.win['yunzai']) {\n this.win['yunzai'].setExtra(this.value);\n }\n }\n return true;\n }\n\n getAllLinks(menu: Menu[], links: Array<{ title: string; link: string }>): void {\n menu.forEach((sider: Menu) => {\n if (sider.link) {\n links.push({ title: sider.text ? sider.text : sider.link, link: sider.link });\n }\n if (sider.children && sider.children.length > 0) {\n this.getAllLinks(sider.children, links);\n }\n });\n }\n}\n\nexport const analysisAddonCanActive: CanActivateFn = (_, state) =>\n inject(YunzaiAnalysisAddonGuardService).process(state.url);\nexport const analysisAddonCanActiveChild: CanActivateChildFn = (_, state) =>\n inject(YunzaiAnalysisAddonGuardService).process(state.url);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i4","i5","i1","i3","zorroZhCN","dfZhCn","yelonZhCn","zorroZhTW","dfZhTw","yelonZhTw","zorroEnUS","dfEn","yelonEnUS","zorroElGR","dfEl","yelonElGR","zorroEsES","dfEs","yelonEsES","zorroFrFR","dfFr","yelonFrFR","zorroHrHR","dfHr","yelonHrHR","zorroItIT","dfIt","yelonItIT","zorroKoKR","dfKo","yelonKoKR","zorroPlPL","dfPl","yelonPlPL","zorroSlSI","dfSl","yelonSlSI","zorroTrTR","dfTr","yelonTrTR","map","i6","i7","i9","i10","i8","log","i11.YunzaiClearStorageComponent","i12.YunzaiFullScreenComponent","i13.YunzaiI18NComponent","i14.YunzaiNotifyComponent","i15.YunzaiThemBtnComponent","i16.YunzaiUserComponent","i17.LayoutNavApplicationComponent","i18.LayoutNavGroupComponent","i19.LayoutNavTileComponent","i20","YunzaiConfigService","i4.YunzaiAuthService"],"mappings":"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"}
|