@yelon/bis 18.3.0 → 19.0.1
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/fesm2022/bis.mjs +96 -82
- package/fesm2022/bis.mjs.map +1 -1
- package/fesm2022/layout.mjs +99 -110
- package/fesm2022/layout.mjs.map +1 -1
- package/fesm2022/yunzai-widgets.mjs +104 -114
- package/fesm2022/yunzai-widgets.mjs.map +1 -1
- package/layout/layout-basic.component.d.ts +1 -2
- package/layout/style/layout-website-01.less +1 -0
- package/package.json +12 -20
- package/src/helper.d.ts +3 -8
- package/src/refresh-token.d.ts +1 -2
- package/src/startup.service.d.ts +2 -2
- package/src/website/layout-website-01.component.d.ts +4 -5
- package/src/website/layout-website-02.component.d.ts +6 -7
- package/src/yunzai-analysis-addon.guard.d.ts +1 -2
- package/esm2022/bis.mjs +0 -5
- package/esm2022/config/bis.config.mjs +0 -15
- package/esm2022/config/config.mjs +0 -5
- package/esm2022/config/public_api.mjs +0 -2
- package/esm2022/layout/layout-basic.component.mjs +0 -518
- package/esm2022/layout/layout-nav-application.component.mjs +0 -372
- package/esm2022/layout/layout-nav-group.component.mjs +0 -166
- package/esm2022/layout/layout-nav-tile.component.mjs +0 -15
- package/esm2022/layout/layout.mjs +0 -5
- package/esm2022/layout/layout.module.mjs +0 -54
- package/esm2022/layout/public_api.mjs +0 -6
- package/esm2022/public_api.mjs +0 -11
- package/esm2022/src/bis.module.mjs +0 -17
- package/esm2022/src/helper.mjs +0 -45
- package/esm2022/src/provide.mjs +0 -8
- package/esm2022/src/refresh-token.mjs +0 -79
- package/esm2022/src/startup.service.mjs +0 -205
- package/esm2022/src/website/layout-website-01.component.mjs +0 -173
- package/esm2022/src/website/layout-website-02.component.mjs +0 -204
- package/esm2022/src/yunzai-act.guard.mjs +0 -88
- package/esm2022/src/yunzai-analysis-addon.guard.mjs +0 -99
- package/esm2022/src/yunzai-default.interceptor.mjs +0 -63
- package/esm2022/yunzai-widgets/public_api.mjs +0 -7
- package/esm2022/yunzai-widgets/yunzai-clear-storage.component.mjs +0 -47
- package/esm2022/yunzai-widgets/yunzai-fullscreen.component.mjs +0 -47
- package/esm2022/yunzai-widgets/yunzai-i18n.component.mjs +0 -139
- package/esm2022/yunzai-widgets/yunzai-notify.component.mjs +0 -180
- package/esm2022/yunzai-widgets/yunzai-user.component.mjs +0 -120
- package/esm2022/yunzai-widgets/yunzai-widget.module.mjs +0 -62
- package/esm2022/yunzai-widgets/yunzai-widgets.mjs +0 -5
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { Component, inject, Input } from '@angular/core';
|
|
3
|
-
import { RouterOutlet } from '@angular/router';
|
|
4
|
-
import { YA_SERVICE_TOKEN } from '@yelon/auth';
|
|
5
|
-
import { I18nPipe } from '@yelon/theme';
|
|
6
|
-
import { useLocalStorageProjectInfo, useLocalStorageUser, WINDOW, YunzaiConfigService } from '@yelon/util';
|
|
7
|
-
import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
|
|
8
|
-
import { NzI18nModule } from 'ng-zorro-antd/i18n';
|
|
9
|
-
import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
10
|
-
import { YunzaiStartupService } from '../startup.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "ng-zorro-antd/menu";
|
|
13
|
-
import * as i2 from "ng-zorro-antd/dropdown";
|
|
14
|
-
import * as i3 from "ng-zorro-antd/icon";
|
|
15
|
-
export class YunzaiLayoutWebsite01Component {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.logoAlt = 'logo';
|
|
18
|
-
this.slogan = '';
|
|
19
|
-
this.tokenService = inject(YA_SERVICE_TOKEN);
|
|
20
|
-
this.configService = inject(YunzaiConfigService);
|
|
21
|
-
this.startupSrv = inject(YunzaiStartupService);
|
|
22
|
-
this.win = inject(WINDOW);
|
|
23
|
-
}
|
|
24
|
-
get _logoSrc() {
|
|
25
|
-
return this.logoSrc;
|
|
26
|
-
}
|
|
27
|
-
get _logoAlt() {
|
|
28
|
-
return this.logoAlt || 'logo';
|
|
29
|
-
}
|
|
30
|
-
get _slogan() {
|
|
31
|
-
return this.slogan || '';
|
|
32
|
-
}
|
|
33
|
-
get _contentTpl() {
|
|
34
|
-
return this.contentTpl;
|
|
35
|
-
}
|
|
36
|
-
get _username() {
|
|
37
|
-
const [_, getUser] = useLocalStorageUser();
|
|
38
|
-
return getUser()?.realname || '';
|
|
39
|
-
}
|
|
40
|
-
get isLogin() {
|
|
41
|
-
const [_, getUser] = useLocalStorageUser();
|
|
42
|
-
return !!this.tokenService.get()?.access_token && !!getUser();
|
|
43
|
-
}
|
|
44
|
-
get _links() {
|
|
45
|
-
const [_, getProjectInfo] = useLocalStorageProjectInfo();
|
|
46
|
-
return getProjectInfo()?.profileList || [];
|
|
47
|
-
}
|
|
48
|
-
login() {
|
|
49
|
-
this.startupSrv.load({ force: true }).subscribe(() => { });
|
|
50
|
-
}
|
|
51
|
-
logout() {
|
|
52
|
-
const baseUrl = this.configService.get('bis')?.baseUrl || '/backstage';
|
|
53
|
-
this.win.location.href = `${baseUrl}/cas-proxy/app/logout`;
|
|
54
|
-
}
|
|
55
|
-
to(url) {
|
|
56
|
-
if (url)
|
|
57
|
-
this.win.location.href = url;
|
|
58
|
-
}
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: YunzaiLayoutWebsite01Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: YunzaiLayoutWebsite01Component, isStandalone: true, selector: "yunzai-layout-website-01", inputs: { logoSrc: "logoSrc", logoAlt: "logoAlt", slogan: "slogan", contentTpl: "contentTpl" }, ngImport: i0, template: `
|
|
61
|
-
<div class="yz-layout-website-01">
|
|
62
|
-
<div class="yz-layout-website-01-nav__user">
|
|
63
|
-
@if (isLogin) {
|
|
64
|
-
<a
|
|
65
|
-
class="yz-layout-website-01-link"
|
|
66
|
-
nz-dropdown
|
|
67
|
-
[nzDropdownMenu]="menu"
|
|
68
|
-
[nzOverlayStyle]="{ width: '120px' }"
|
|
69
|
-
>
|
|
70
|
-
<span nz-icon nzType="user" nzTheme="outline"></span>{{ _username }}<span nz-icon nzType="down"></span>
|
|
71
|
-
</a>
|
|
72
|
-
<nz-dropdown-menu #menu="nzDropdownMenu">
|
|
73
|
-
<ul nz-menu nzSelectable>
|
|
74
|
-
@for (link of _links; track $index) {
|
|
75
|
-
<li nz-menu-item class="yz-layout-website-01-link__li" (click)="to(link.url)">{{ link.name }}</li>
|
|
76
|
-
}
|
|
77
|
-
<li nz-menu-item nzDanger class="yz-layout-website-01-link__li" (click)="logout()"
|
|
78
|
-
>{{ 'menu.account.logout' | i18n }}
|
|
79
|
-
</li>
|
|
80
|
-
</ul>
|
|
81
|
-
</nz-dropdown-menu>
|
|
82
|
-
} @else {
|
|
83
|
-
<a class="yz-layout-website-01-link" (click)="login()">
|
|
84
|
-
<span nz-icon nzType="login" nzTheme="outline"></span>{{ 'app.login.login' | i18n }}</a
|
|
85
|
-
>
|
|
86
|
-
}
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
<header class="yz-layout-website-01-nav">
|
|
90
|
-
@if (_logoSrc) {
|
|
91
|
-
<img [alt]="_logoAlt" class="yz-layout-website-01-nav__logo" [src]="_logoSrc" />
|
|
92
|
-
} @else {
|
|
93
|
-
<div class="yz-layout-website-01-nav__logo__full">LOGO</div>
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
<div class="yz-layout-website-01-nav__content">
|
|
97
|
-
<ng-template *ngTemplateOutlet="_contentTpl" />
|
|
98
|
-
</div>
|
|
99
|
-
<div class="yz-layout-website-01-nav__slogan">
|
|
100
|
-
{{ _slogan }}
|
|
101
|
-
</div>
|
|
102
|
-
</header>
|
|
103
|
-
<main class="yz-layout-website-01-container">
|
|
104
|
-
<router-outlet />
|
|
105
|
-
</main>
|
|
106
|
-
</div>
|
|
107
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }, { kind: "ngmodule", type: NzI18nModule }, { kind: "ngmodule", type: NzDropDownModule }, { kind: "directive", type: i1.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i1.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i2.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "directive", type: i2.NzDropDownADirective, selector: "a[nz-dropdown]" }, { kind: "component", type: i2.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i3.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
108
|
-
}
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: YunzaiLayoutWebsite01Component, decorators: [{
|
|
110
|
-
type: Component,
|
|
111
|
-
args: [{
|
|
112
|
-
selector: 'yunzai-layout-website-01',
|
|
113
|
-
template: `
|
|
114
|
-
<div class="yz-layout-website-01">
|
|
115
|
-
<div class="yz-layout-website-01-nav__user">
|
|
116
|
-
@if (isLogin) {
|
|
117
|
-
<a
|
|
118
|
-
class="yz-layout-website-01-link"
|
|
119
|
-
nz-dropdown
|
|
120
|
-
[nzDropdownMenu]="menu"
|
|
121
|
-
[nzOverlayStyle]="{ width: '120px' }"
|
|
122
|
-
>
|
|
123
|
-
<span nz-icon nzType="user" nzTheme="outline"></span>{{ _username }}<span nz-icon nzType="down"></span>
|
|
124
|
-
</a>
|
|
125
|
-
<nz-dropdown-menu #menu="nzDropdownMenu">
|
|
126
|
-
<ul nz-menu nzSelectable>
|
|
127
|
-
@for (link of _links; track $index) {
|
|
128
|
-
<li nz-menu-item class="yz-layout-website-01-link__li" (click)="to(link.url)">{{ link.name }}</li>
|
|
129
|
-
}
|
|
130
|
-
<li nz-menu-item nzDanger class="yz-layout-website-01-link__li" (click)="logout()"
|
|
131
|
-
>{{ 'menu.account.logout' | i18n }}
|
|
132
|
-
</li>
|
|
133
|
-
</ul>
|
|
134
|
-
</nz-dropdown-menu>
|
|
135
|
-
} @else {
|
|
136
|
-
<a class="yz-layout-website-01-link" (click)="login()">
|
|
137
|
-
<span nz-icon nzType="login" nzTheme="outline"></span>{{ 'app.login.login' | i18n }}</a
|
|
138
|
-
>
|
|
139
|
-
}
|
|
140
|
-
</div>
|
|
141
|
-
|
|
142
|
-
<header class="yz-layout-website-01-nav">
|
|
143
|
-
@if (_logoSrc) {
|
|
144
|
-
<img [alt]="_logoAlt" class="yz-layout-website-01-nav__logo" [src]="_logoSrc" />
|
|
145
|
-
} @else {
|
|
146
|
-
<div class="yz-layout-website-01-nav__logo__full">LOGO</div>
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
<div class="yz-layout-website-01-nav__content">
|
|
150
|
-
<ng-template *ngTemplateOutlet="_contentTpl" />
|
|
151
|
-
</div>
|
|
152
|
-
<div class="yz-layout-website-01-nav__slogan">
|
|
153
|
-
{{ _slogan }}
|
|
154
|
-
</div>
|
|
155
|
-
</header>
|
|
156
|
-
<main class="yz-layout-website-01-container">
|
|
157
|
-
<router-outlet />
|
|
158
|
-
</main>
|
|
159
|
-
</div>
|
|
160
|
-
`,
|
|
161
|
-
standalone: true,
|
|
162
|
-
imports: [RouterOutlet, I18nPipe, NzI18nModule, NgFor, NgIf, NzDropDownModule, NzIconModule, NgTemplateOutlet]
|
|
163
|
-
}]
|
|
164
|
-
}], propDecorators: { logoSrc: [{
|
|
165
|
-
type: Input
|
|
166
|
-
}], logoAlt: [{
|
|
167
|
-
type: Input
|
|
168
|
-
}], slogan: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], contentTpl: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}] } });
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXdlYnNpdGUtMDEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmlzL3NyYy93ZWJzaXRlL2xheW91dC13ZWJzaXRlLTAxLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUVMLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDbkIsTUFBTSxFQUNOLG1CQUFtQixFQUNwQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQXVEMUQsTUFBTSxPQUFPLDhCQUE4QjtJQXJEM0M7UUF1RFcsWUFBTyxHQUFZLE1BQU0sQ0FBQztRQUMxQixXQUFNLEdBQVksRUFBRSxDQUFDO1FBR2IsaUJBQVksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVDLGVBQVUsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMxQyxRQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBNkN2QztJQTNDQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNDLE9BQU8sT0FBTyxFQUFFLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsTUFBTSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsR0FBRywwQkFBMEIsRUFBRSxDQUFDO1FBQ3pELE9BQU8sY0FBYyxFQUFFLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxJQUFJLFlBQVksQ0FBQztRQUN2RSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxPQUFPLHVCQUF1QixDQUFDO0lBQzdELENBQUM7SUFFRCxFQUFFLENBQUMsR0FBWTtRQUNiLElBQUksR0FBRztZQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDeEMsQ0FBQzsrR0FyRFUsOEJBQThCO21HQUE5Qiw4QkFBOEIsb0xBbkQvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ1QsNERBRVMsWUFBWSxzSkFBRSxRQUFRLDRDQUFFLFlBQVksOEJBQWUsZ0JBQWdCLDI3QkFBRSxZQUFZLGtOQUFFLGdCQUFnQjs7NEZBRWxHLDhCQUE4QjtrQkFyRDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLENBQUM7aUJBQy9HOzhCQUVVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBZQV9TRVJWSUNFX1RPS0VOIH0gZnJvbSAnQHllbG9uL2F1dGgnO1xuaW1wb3J0IHsgSTE4blBpcGUgfSBmcm9tICdAeWVsb24vdGhlbWUnO1xuaW1wb3J0IHtcbiAgWXVuemFpUHJvZmlsZSxcbiAgdXNlTG9jYWxTdG9yYWdlUHJvamVjdEluZm8sXG4gIHVzZUxvY2FsU3RvcmFnZVVzZXIsXG4gIFdJTkRPVyxcbiAgWXVuemFpQ29uZmlnU2VydmljZVxufSBmcm9tICdAeWVsb24vdXRpbCc7XG5pbXBvcnQgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgTnpEcm9wRG93bk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZHJvcGRvd24nO1xuaW1wb3J0IHsgTnpJMThuTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pMThuJztcbmltcG9ydCB7IE56SWNvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaWNvbic7XG5cbmltcG9ydCB7IFl1bnphaVN0YXJ0dXBTZXJ2aWNlIH0gZnJvbSAnLi4vc3RhcnR1cC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXVuemFpLWxheW91dC13ZWJzaXRlLTAxJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDFcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ5ei1sYXlvdXQtd2Vic2l0ZS0wMS1uYXZfX3VzZXJcIj5cbiAgICAgICAgQGlmIChpc0xvZ2luKSB7XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDEtbGlua1wiXG4gICAgICAgICAgICBuei1kcm9wZG93blxuICAgICAgICAgICAgW256RHJvcGRvd25NZW51XT1cIm1lbnVcIlxuICAgICAgICAgICAgW256T3ZlcmxheVN0eWxlXT1cInsgd2lkdGg6ICcxMjBweCcgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gbnotaWNvbiBuelR5cGU9XCJ1c2VyXCIgbnpUaGVtZT1cIm91dGxpbmVcIj48L3NwYW4+e3sgX3VzZXJuYW1lIH19PHNwYW4gbnotaWNvbiBuelR5cGU9XCJkb3duXCI+PC9zcGFuPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8bnotZHJvcGRvd24tbWVudSAjbWVudT1cIm56RHJvcGRvd25NZW51XCI+XG4gICAgICAgICAgICA8dWwgbnotbWVudSBuelNlbGVjdGFibGU+XG4gICAgICAgICAgICAgIEBmb3IgKGxpbmsgb2YgX2xpbmtzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8bGkgbnotbWVudS1pdGVtIGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDEtbGlua19fbGlcIiAoY2xpY2spPVwidG8obGluay51cmwpXCI+e3sgbGluay5uYW1lIH19PC9saT5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8bGkgbnotbWVudS1pdGVtIG56RGFuZ2VyIGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDEtbGlua19fbGlcIiAoY2xpY2spPVwibG9nb3V0KClcIlxuICAgICAgICAgICAgICAgID57eyAnbWVudS5hY2NvdW50LmxvZ291dCcgfCBpMThuIH19XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvbnotZHJvcGRvd24tbWVudT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGEgY2xhc3M9XCJ5ei1sYXlvdXQtd2Vic2l0ZS0wMS1saW5rXCIgKGNsaWNrKT1cImxvZ2luKClcIj5cbiAgICAgICAgICAgIDxzcGFuIG56LWljb24gbnpUeXBlPVwibG9naW5cIiBuelRoZW1lPVwib3V0bGluZVwiPjwvc3Bhbj57eyAnYXBwLmxvZ2luLmxvZ2luJyB8IGkxOG4gfX08L2FcbiAgICAgICAgICA+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8aGVhZGVyIGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDEtbmF2XCI+XG4gICAgICAgIEBpZiAoX2xvZ29TcmMpIHtcbiAgICAgICAgICA8aW1nIFthbHRdPVwiX2xvZ29BbHRcIiBjbGFzcz1cInl6LWxheW91dC13ZWJzaXRlLTAxLW5hdl9fbG9nb1wiIFtzcmNdPVwiX2xvZ29TcmNcIiAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDEtbmF2X19sb2dvX19mdWxsXCI+TE9HTzwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInl6LWxheW91dC13ZWJzaXRlLTAxLW5hdl9fY29udGVudFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIl9jb250ZW50VHBsXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ5ei1sYXlvdXQtd2Vic2l0ZS0wMS1uYXZfX3Nsb2dhblwiPlxuICAgICAgICAgIHt7IF9zbG9nYW4gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2hlYWRlcj5cbiAgICAgIDxtYWluIGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDEtY29udGFpbmVyXCI+XG4gICAgICAgIDxyb3V0ZXItb3V0bGV0IC8+XG4gICAgICA8L21haW4+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSb3V0ZXJPdXRsZXQsIEkxOG5QaXBlLCBOekkxOG5Nb2R1bGUsIE5nRm9yLCBOZ0lmLCBOekRyb3BEb3duTW9kdWxlLCBOekljb25Nb2R1bGUsIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFl1bnphaUxheW91dFdlYnNpdGUwMUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxvZ29TcmM/OiBzdHJpbmcgfCBOelNhZmVBbnk7XG4gIEBJbnB1dCgpIGxvZ29BbHQ/OiBzdHJpbmcgPSAnbG9nbyc7XG4gIEBJbnB1dCgpIHNsb2dhbj86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjb250ZW50VHBsPzogVGVtcGxhdGVSZWY8dm9pZD4gfCBOelNhZmVBbnk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0b2tlblNlcnZpY2UgPSBpbmplY3QoWUFfU0VSVklDRV9UT0tFTik7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZSA9IGluamVjdChZdW56YWlDb25maWdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGFydHVwU3J2ID0gaW5qZWN0KFl1bnphaVN0YXJ0dXBTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB3aW4gPSBpbmplY3QoV0lORE9XKTtcblxuICBnZXQgX2xvZ29TcmMoKTogc3RyaW5nIHwgTnpTYWZlQW55IHtcbiAgICByZXR1cm4gdGhpcy5sb2dvU3JjO1xuICB9XG5cbiAgZ2V0IF9sb2dvQWx0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubG9nb0FsdCB8fCAnbG9nbyc7XG4gIH1cblxuICBnZXQgX3Nsb2dhbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNsb2dhbiB8fCAnJztcbiAgfVxuXG4gIGdldCBfY29udGVudFRwbCgpOiBUZW1wbGF0ZVJlZjx2b2lkPiB8IE56U2FmZUFueSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudFRwbDtcbiAgfVxuXG4gIGdldCBfdXNlcm5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBbXywgZ2V0VXNlcl0gPSB1c2VMb2NhbFN0b3JhZ2VVc2VyKCk7XG4gICAgcmV0dXJuIGdldFVzZXIoKT8ucmVhbG5hbWUgfHwgJyc7XG4gIH1cblxuICBnZXQgaXNMb2dpbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBbXywgZ2V0VXNlcl0gPSB1c2VMb2NhbFN0b3JhZ2VVc2VyKCk7XG4gICAgcmV0dXJuICEhdGhpcy50b2tlblNlcnZpY2UuZ2V0KCk/LmFjY2Vzc190b2tlbiAmJiAhIWdldFVzZXIoKTtcbiAgfVxuXG4gIGdldCBfbGlua3MoKTogWXVuemFpUHJvZmlsZVtdIHtcbiAgICBjb25zdCBbXywgZ2V0UHJvamVjdEluZm9dID0gdXNlTG9jYWxTdG9yYWdlUHJvamVjdEluZm8oKTtcbiAgICByZXR1cm4gZ2V0UHJvamVjdEluZm8oKT8ucHJvZmlsZUxpc3QgfHwgW107XG4gIH1cblxuICBsb2dpbigpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXJ0dXBTcnYubG9hZCh7IGZvcmNlOiB0cnVlIH0pLnN1YnNjcmliZSgoKSA9PiB7fSk7XG4gIH1cblxuICBsb2dvdXQoKTogdm9pZCB7XG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnU2VydmljZS5nZXQoJ2JpcycpPy5iYXNlVXJsIHx8ICcvYmFja3N0YWdlJztcbiAgICB0aGlzLndpbi5sb2NhdGlvbi5ocmVmID0gYCR7YmFzZVVybH0vY2FzLXByb3h5L2FwcC9sb2dvdXRgO1xuICB9XG5cbiAgdG8odXJsPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHVybCkgdGhpcy53aW4ubG9jYXRpb24uaHJlZiA9IHVybDtcbiAgfVxufVxuIl19
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { Component, inject, Input } from '@angular/core';
|
|
3
|
-
import { RouterOutlet } from '@angular/router';
|
|
4
|
-
import { YA_SERVICE_TOKEN } from '@yelon/auth';
|
|
5
|
-
import { I18nPipe } from '@yelon/theme';
|
|
6
|
-
import { useLocalStorageProjectInfo, useLocalStorageUser, WINDOW, YunzaiConfigService } from '@yelon/util';
|
|
7
|
-
import { NzAvatarModule } from 'ng-zorro-antd/avatar';
|
|
8
|
-
import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
|
|
9
|
-
import { NzI18nModule } from 'ng-zorro-antd/i18n';
|
|
10
|
-
import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
11
|
-
import { YunzaiStartupService } from '../startup.service';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "ng-zorro-antd/menu";
|
|
14
|
-
import * as i2 from "ng-zorro-antd/dropdown";
|
|
15
|
-
import * as i3 from "ng-zorro-antd/icon";
|
|
16
|
-
import * as i4 from "ng-zorro-antd/avatar";
|
|
17
|
-
export class YunzaiLayoutWebsite02Component {
|
|
18
|
-
constructor() {
|
|
19
|
-
this.logoAlt = 'logo';
|
|
20
|
-
this.userMenuShow = false;
|
|
21
|
-
this.tokenService = inject(YA_SERVICE_TOKEN);
|
|
22
|
-
this.configService = inject(YunzaiConfigService);
|
|
23
|
-
this.startupSrv = inject(YunzaiStartupService);
|
|
24
|
-
this.win = inject(WINDOW);
|
|
25
|
-
}
|
|
26
|
-
get _logoSrc() {
|
|
27
|
-
return this.logoSrc;
|
|
28
|
-
}
|
|
29
|
-
get _logoAlt() {
|
|
30
|
-
return this.logoAlt || 'logo';
|
|
31
|
-
}
|
|
32
|
-
get _userMenuShow() {
|
|
33
|
-
return this.userMenuShow || false;
|
|
34
|
-
}
|
|
35
|
-
get _slogan() {
|
|
36
|
-
return this.slogan;
|
|
37
|
-
}
|
|
38
|
-
get _contentTpl() {
|
|
39
|
-
return this.contentTpl;
|
|
40
|
-
}
|
|
41
|
-
get _username() {
|
|
42
|
-
const [_, getUser] = useLocalStorageUser();
|
|
43
|
-
return getUser()?.realname || '';
|
|
44
|
-
}
|
|
45
|
-
get _avatar() {
|
|
46
|
-
const [_, getUser] = useLocalStorageUser();
|
|
47
|
-
const baseUrl = this.configService.get('bis')?.baseUrl || '/backstage';
|
|
48
|
-
const avatarUrl = getUser()?.avatarId ? `${baseUrl}/filecenter/file/${getUser()?.avatarId}` : undefined;
|
|
49
|
-
return avatarUrl;
|
|
50
|
-
}
|
|
51
|
-
get isLogin() {
|
|
52
|
-
const [_, getUser] = useLocalStorageUser();
|
|
53
|
-
return !!this.tokenService.get()?.access_token && !!getUser();
|
|
54
|
-
}
|
|
55
|
-
get _links() {
|
|
56
|
-
const [_, getProjectInfo] = useLocalStorageProjectInfo();
|
|
57
|
-
return getProjectInfo()?.profileList || [];
|
|
58
|
-
}
|
|
59
|
-
login() {
|
|
60
|
-
this.startupSrv.load({ force: true }).subscribe(() => { });
|
|
61
|
-
}
|
|
62
|
-
logout() {
|
|
63
|
-
const baseUrl = this.configService.get('bis')?.baseUrl || '/backstage';
|
|
64
|
-
this.win.location.href = `${baseUrl}/cas-proxy/app/logout`;
|
|
65
|
-
}
|
|
66
|
-
to(url) {
|
|
67
|
-
if (url)
|
|
68
|
-
this.win.location.href = url;
|
|
69
|
-
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: YunzaiLayoutWebsite02Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: YunzaiLayoutWebsite02Component, isStandalone: true, selector: "yunzai-layout-website-02", inputs: { logoSrc: "logoSrc", logoAlt: "logoAlt", userMenuShow: "userMenuShow", slogan: "slogan", contentTpl: "contentTpl" }, ngImport: i0, template: `
|
|
72
|
-
<div class="yz-layout-website-02">
|
|
73
|
-
<header class="yz-layout-website-02-nav">
|
|
74
|
-
<div class="yz-layout-website-02-inner-content">
|
|
75
|
-
@if (_logoSrc) {
|
|
76
|
-
<img [alt]="_logoAlt" class="yz-layout-website-02-nav__logo" [src]="_logoSrc" />
|
|
77
|
-
} @else {
|
|
78
|
-
<div class="yz-layout-website-02-nav__logo__full">LOGO</div>
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
<div class="yz-layout-website-02-nav__content">
|
|
82
|
-
<ng-template *ngTemplateOutlet="_contentTpl" />
|
|
83
|
-
</div>
|
|
84
|
-
|
|
85
|
-
<div class="yz-layout-website-02-nav-right">
|
|
86
|
-
<div class="yz-layout-website-02-nav__slogan">
|
|
87
|
-
<ng-template *ngTemplateOutlet="_slogan" />
|
|
88
|
-
</div>
|
|
89
|
-
@if (isLogin) {
|
|
90
|
-
<a
|
|
91
|
-
class="yz-layout-website-02-link"
|
|
92
|
-
nz-dropdown
|
|
93
|
-
[nzDropdownMenu]="menu"
|
|
94
|
-
[nzDisabled]="!_userMenuShow"
|
|
95
|
-
[nzPlacement]="'bottomRight'"
|
|
96
|
-
>
|
|
97
|
-
<nz-avatar nzIcon="user" [nzSrc]="_avatar" /><b>欢迎访问:{{ _username }}</b>
|
|
98
|
-
<span nz-icon nzType="down" *ngIf="_userMenuShow"></span>
|
|
99
|
-
</a>
|
|
100
|
-
<nz-dropdown-menu #menu="nzDropdownMenu">
|
|
101
|
-
<ul nz-menu nzSelectable>
|
|
102
|
-
@for (link of _links; track $index) {
|
|
103
|
-
<li nz-menu-item class="yz-layout-website-02-link__li" (click)="to(link.url)">{{ link.name }}</li>
|
|
104
|
-
}
|
|
105
|
-
<li nz-menu-item nzDanger class="yz-layout-website-02-link__li" (click)="logout()">{{
|
|
106
|
-
'menu.account.logout' | i18n
|
|
107
|
-
}}</li>
|
|
108
|
-
</ul>
|
|
109
|
-
</nz-dropdown-menu>
|
|
110
|
-
} @else {
|
|
111
|
-
<a class="yz-layout-website-02-link" (click)="login()">
|
|
112
|
-
<span nz-icon nzType="login" nzTheme="outline"></span>{{ 'app.login.login' | i18n }}</a
|
|
113
|
-
>
|
|
114
|
-
}
|
|
115
|
-
</div>
|
|
116
|
-
</div>
|
|
117
|
-
</header>
|
|
118
|
-
<main class="yz-layout-website-02-container">
|
|
119
|
-
<router-outlet />
|
|
120
|
-
</main>
|
|
121
|
-
</div>
|
|
122
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }, { kind: "ngmodule", type: NzI18nModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: NzDropDownModule }, { kind: "directive", type: i1.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i1.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i2.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "directive", type: i2.NzDropDownADirective, selector: "a[nz-dropdown]" }, { kind: "component", type: i2.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i3.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NzAvatarModule }, { kind: "component", type: i4.NzAvatarComponent, selector: "nz-avatar", inputs: ["nzShape", "nzSize", "nzGap", "nzText", "nzSrc", "nzSrcSet", "nzAlt", "nzIcon"], outputs: ["nzError"], exportAs: ["nzAvatar"] }] }); }
|
|
123
|
-
}
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: YunzaiLayoutWebsite02Component, decorators: [{
|
|
125
|
-
type: Component,
|
|
126
|
-
args: [{
|
|
127
|
-
selector: 'yunzai-layout-website-02',
|
|
128
|
-
template: `
|
|
129
|
-
<div class="yz-layout-website-02">
|
|
130
|
-
<header class="yz-layout-website-02-nav">
|
|
131
|
-
<div class="yz-layout-website-02-inner-content">
|
|
132
|
-
@if (_logoSrc) {
|
|
133
|
-
<img [alt]="_logoAlt" class="yz-layout-website-02-nav__logo" [src]="_logoSrc" />
|
|
134
|
-
} @else {
|
|
135
|
-
<div class="yz-layout-website-02-nav__logo__full">LOGO</div>
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
<div class="yz-layout-website-02-nav__content">
|
|
139
|
-
<ng-template *ngTemplateOutlet="_contentTpl" />
|
|
140
|
-
</div>
|
|
141
|
-
|
|
142
|
-
<div class="yz-layout-website-02-nav-right">
|
|
143
|
-
<div class="yz-layout-website-02-nav__slogan">
|
|
144
|
-
<ng-template *ngTemplateOutlet="_slogan" />
|
|
145
|
-
</div>
|
|
146
|
-
@if (isLogin) {
|
|
147
|
-
<a
|
|
148
|
-
class="yz-layout-website-02-link"
|
|
149
|
-
nz-dropdown
|
|
150
|
-
[nzDropdownMenu]="menu"
|
|
151
|
-
[nzDisabled]="!_userMenuShow"
|
|
152
|
-
[nzPlacement]="'bottomRight'"
|
|
153
|
-
>
|
|
154
|
-
<nz-avatar nzIcon="user" [nzSrc]="_avatar" /><b>欢迎访问:{{ _username }}</b>
|
|
155
|
-
<span nz-icon nzType="down" *ngIf="_userMenuShow"></span>
|
|
156
|
-
</a>
|
|
157
|
-
<nz-dropdown-menu #menu="nzDropdownMenu">
|
|
158
|
-
<ul nz-menu nzSelectable>
|
|
159
|
-
@for (link of _links; track $index) {
|
|
160
|
-
<li nz-menu-item class="yz-layout-website-02-link__li" (click)="to(link.url)">{{ link.name }}</li>
|
|
161
|
-
}
|
|
162
|
-
<li nz-menu-item nzDanger class="yz-layout-website-02-link__li" (click)="logout()">{{
|
|
163
|
-
'menu.account.logout' | i18n
|
|
164
|
-
}}</li>
|
|
165
|
-
</ul>
|
|
166
|
-
</nz-dropdown-menu>
|
|
167
|
-
} @else {
|
|
168
|
-
<a class="yz-layout-website-02-link" (click)="login()">
|
|
169
|
-
<span nz-icon nzType="login" nzTheme="outline"></span>{{ 'app.login.login' | i18n }}</a
|
|
170
|
-
>
|
|
171
|
-
}
|
|
172
|
-
</div>
|
|
173
|
-
</div>
|
|
174
|
-
</header>
|
|
175
|
-
<main class="yz-layout-website-02-container">
|
|
176
|
-
<router-outlet />
|
|
177
|
-
</main>
|
|
178
|
-
</div>
|
|
179
|
-
`,
|
|
180
|
-
standalone: true,
|
|
181
|
-
imports: [
|
|
182
|
-
RouterOutlet,
|
|
183
|
-
I18nPipe,
|
|
184
|
-
NzI18nModule,
|
|
185
|
-
NgFor,
|
|
186
|
-
NgIf,
|
|
187
|
-
NzDropDownModule,
|
|
188
|
-
NzIconModule,
|
|
189
|
-
NgTemplateOutlet,
|
|
190
|
-
NzAvatarModule
|
|
191
|
-
]
|
|
192
|
-
}]
|
|
193
|
-
}], propDecorators: { logoSrc: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], logoAlt: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], userMenuShow: [{
|
|
198
|
-
type: Input
|
|
199
|
-
}], slogan: [{
|
|
200
|
-
type: Input
|
|
201
|
-
}], contentTpl: [{
|
|
202
|
-
type: Input
|
|
203
|
-
}] } });
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXdlYnNpdGUtMDIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmlzL3NyYy93ZWJzaXRlL2xheW91dC13ZWJzaXRlLTAyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDbkIsTUFBTSxFQUNOLG1CQUFtQixFQUVwQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBcUUxRCxNQUFNLE9BQU8sOEJBQThCO0lBbkUzQztRQXFFVyxZQUFPLEdBQVksTUFBTSxDQUFDO1FBQzFCLGlCQUFZLEdBQWEsS0FBSyxDQUFDO1FBSXZCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENB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LFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbURUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixRQUFRO3dCQUNSLFlBQVk7d0JBQ1osS0FBSzt3QkFDTCxJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGNBQWM7cUJBQ2Y7aUJBQ0Y7OEJBRVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgWUFfU0VSVklDRV9UT0tFTiB9IGZyb20gJ0B5ZWxvbi9hdXRoJztcbmltcG9ydCB7IEkxOG5QaXBlIH0gZnJvbSAnQHllbG9uL3RoZW1lJztcbmltcG9ydCB7XG4gIHVzZUxvY2FsU3RvcmFnZVByb2plY3RJbmZvLFxuICB1c2VMb2NhbFN0b3JhZ2VVc2VyLFxuICBXSU5ET1csXG4gIFl1bnphaUNvbmZpZ1NlcnZpY2UsXG4gIFl1bnphaVByb2ZpbGVcbn0gZnJvbSAnQHllbG9uL3V0aWwnO1xuaW1wb3J0IHsgTnpBdmF0YXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2F2YXRhcic7XG5pbXBvcnQgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgTnpEcm9wRG93bk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZHJvcGRvd24nO1xuaW1wb3J0IHsgTnpJMThuTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pMThuJztcbmltcG9ydCB7IE56SWNvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaWNvbic7XG5cbmltcG9ydCB7IFl1bnphaVN0YXJ0dXBTZXJ2aWNlIH0gZnJvbSAnLi4vc3RhcnR1cC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXVuemFpLWxheW91dC13ZWJzaXRlLTAyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDJcIj5cbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJ5ei1sYXlvdXQtd2Vic2l0ZS0wMi1uYXZcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInl6LWxheW91dC13ZWJzaXRlLTAyLWlubmVyLWNvbnRlbnRcIj5cbiAgICAgICAgICBAaWYgKF9sb2dvU3JjKSB7XG4gICAgICAgICAgICA8aW1nIFthbHRdPVwiX2xvZ29BbHRcIiBjbGFzcz1cInl6LWxheW91dC13ZWJzaXRlLTAyLW5hdl9fbG9nb1wiIFtzcmNdPVwiX2xvZ29TcmNcIiAvPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInl6LWxheW91dC13ZWJzaXRlLTAyLW5hdl9fbG9nb19fZnVsbFwiPkxPR088L2Rpdj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDItbmF2X19jb250ZW50XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJfY29udGVudFRwbFwiIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDItbmF2LXJpZ2h0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDItbmF2X19zbG9nYW5cIj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiX3Nsb2dhblwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoaXNMb2dpbikge1xuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwieXotbGF5b3V0LXdlYnNpdGUtMDItbGlua1wiXG4gICAgICAgICAgICAgICAgbnotZHJvcGRvd25cbiAgICAgICAgICAgICAgICBbbnpEcm9wZG93bk1lbnVdPVwibWVudVwiXG4gICAgICAgICAgICAgICAgW256RGlzYWJsZWRdPVwiIV91c2VyTWVudVNob3dcIlxuICAgICAgICAgICAgICAgIFtuelBsYWNlbWVudF09XCInYm90dG9tUmlnaHQnXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuei1hdmF0YXIgbnpJY29uPVwidXNlclwiIFtuelNyY109XCJfYXZhdGFyXCIgLz48Yj7mrKLov47orr/pl67vvJp7eyBfdXNlcm5hbWUgfX08L2I+XG4gICAgICAgICAgICAgICAgPHNwYW4gbnotaWNvbiBuelR5cGU9XCJkb3duXCIgKm5nSWY9XCJfdXNlck1lbnVTaG93XCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxuei1kcm9wZG93bi1tZW51ICNtZW51PVwibnpEcm9wZG93bk1lbnVcIj5cbiAgICAgICAgICAgICAgICA8dWwgbnotbWVudSBuelNlbGVjdGFibGU+XG4gICAgICAgICAgICAgICAgICBAZm9yIChsaW5rIG9mIF9saW5rczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxsaSBuei1tZW51LWl0ZW0gY2xhc3M9XCJ5ei1sYXlvdXQtd2Vic2l0ZS0wMi1saW5rX19saVwiIChjbGljayk9XCJ0byhsaW5rLnVybClcIj57eyBsaW5rLm5hbWUgfX08L2xpPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPGxpIG56LW1lbnUtaXRlbSBuekRhbmdlciBjbGFzcz1cInl6LWxheW91dC13ZWJzaXRlLTAyLWxpbmtfX2xpXCIgKGNsaWNrKT1cImxvZ291dCgpXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgJ21lbnUuYWNjb3VudC5sb2dvdXQnIHwgaTE4blxuICAgICAgICAgICAgICAgICAgfX08L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgIDwvbnotZHJvcGRvd24tbWVudT5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8YSBjbGFzcz1cInl6LWxheW91dC13ZWJzaXRlLTAyLWxpbmtcIiAoY2xpY2spPVwibG9naW4oKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIG56LWljb24gbnpUeXBlPVwibG9naW5cIiBuelRoZW1lPVwib3V0bGluZVwiPjwvc3Bhbj57eyAnYXBwLmxvZ2luLmxvZ2luJyB8IGkxOG4gfX08L2FcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaGVhZGVyPlxuICAgICAgPG1haW4gY2xhc3M9XCJ5ei1sYXlvdXQtd2Vic2l0ZS0wMi1jb250YWluZXJcIj5cbiAgICAgICAgPHJvdXRlci1vdXRsZXQgLz5cbiAgICAgIDwvbWFpbj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlck91dGxldCxcbiAgICBJMThuUGlwZSxcbiAgICBOekkxOG5Nb2R1bGUsXG4gICAgTmdGb3IsXG4gICAgTmdJZixcbiAgICBOekRyb3BEb3duTW9kdWxlLFxuICAgIE56SWNvbk1vZHVsZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE56QXZhdGFyTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgWXVuemFpTGF5b3V0V2Vic2l0ZTAyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbG9nb1NyYz86IHN0cmluZyB8IE56U2FmZUFueTtcbiAgQElucHV0KCkgbG9nb0FsdD86IHN0cmluZyA9ICdsb2dvJztcbiAgQElucHV0KCkgdXNlck1lbnVTaG93PzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzbG9nYW4/OiBUZW1wbGF0ZVJlZjx2b2lkPiB8IE56U2FmZUFueTtcbiAgQElucHV0KCkgY29udGVudFRwbD86IFRlbXBsYXRlUmVmPHZvaWQ+IHwgTnpTYWZlQW55O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdG9rZW5TZXJ2aWNlID0gaW5qZWN0KFlBX1NFUlZJQ0VfVE9LRU4pO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoWXVuemFpQ29uZmlnU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhcnR1cFNydiA9IGluamVjdChZdW56YWlTdGFydHVwU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2luID0gaW5qZWN0KFdJTkRPVyk7XG5cbiAgZ2V0IF9sb2dvU3JjKCk6IHN0cmluZyB8IE56U2FmZUFueSB7XG4gICAgcmV0dXJuIHRoaXMubG9nb1NyYztcbiAgfVxuXG4gIGdldCBfbG9nb0FsdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvZ29BbHQgfHwgJ2xvZ28nO1xuICB9XG5cbiAgZ2V0IF91c2VyTWVudVNob3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXNlck1lbnVTaG93IHx8IGZhbHNlO1xuICB9XG5cbiAgZ2V0IF9zbG9nYW4oKTogVGVtcGxhdGVSZWY8dm9pZD4gfCBOelNhZmVBbnkge1xuICAgIHJldHVybiB0aGlzLnNsb2dhbjtcbiAgfVxuXG4gIGdldCBfY29udGVudFRwbCgpOiBUZW1wbGF0ZVJlZjx2b2lkPiB8IE56U2FmZUFueSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudFRwbDtcbiAgfVxuXG4gIGdldCBfdXNlcm5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBbXywgZ2V0VXNlcl0gPSB1c2VMb2NhbFN0b3JhZ2VVc2VyKCk7XG4gICAgcmV0dXJuIGdldFVzZXIoKT8ucmVhbG5hbWUgfHwgJyc7XG4gIH1cblxuICBnZXQgX2F2YXRhcigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IFtfLCBnZXRVc2VyXSA9IHVzZUxvY2FsU3RvcmFnZVVzZXIoKTtcbiAgICBjb25zdCBiYXNlVXJsOiBzdHJpbmcgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdiaXMnKT8uYmFzZVVybCB8fCAnL2JhY2tzdGFnZSc7XG4gICAgY29uc3QgYXZhdGFyVXJsID0gZ2V0VXNlcigpPy5hdmF0YXJJZCA/IGAke2Jhc2VVcmx9L2ZpbGVjZW50ZXIvZmlsZS8ke2dldFVzZXIoKT8uYXZhdGFySWR9YCA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gYXZhdGFyVXJsO1xuICB9XG5cbiAgZ2V0IGlzTG9naW4oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgW18sIGdldFVzZXJdID0gdXNlTG9jYWxTdG9yYWdlVXNlcigpO1xuICAgIHJldHVybiAhIXRoaXMudG9rZW5TZXJ2aWNlLmdldCgpPy5hY2Nlc3NfdG9rZW4gJiYgISFnZXRVc2VyKCk7XG4gIH1cblxuICBnZXQgX2xpbmtzKCk6IFl1bnphaVByb2ZpbGVbXSB7XG4gICAgY29uc3QgW18sIGdldFByb2plY3RJbmZvXSA9IHVzZUxvY2FsU3RvcmFnZVByb2plY3RJbmZvKCk7XG4gICAgcmV0dXJuIGdldFByb2plY3RJbmZvKCk/LnByb2ZpbGVMaXN0IHx8IFtdO1xuICB9XG5cbiAgbG9naW4oKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydHVwU3J2LmxvYWQoeyBmb3JjZTogdHJ1ZSB9KS5zdWJzY3JpYmUoKCkgPT4ge30pO1xuICB9XG5cbiAgbG9nb3V0KCk6IHZvaWQge1xuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdiaXMnKT8uYmFzZVVybCB8fCAnL2JhY2tzdGFnZSc7XG4gICAgdGhpcy53aW4ubG9jYXRpb24uaHJlZiA9IGAke2Jhc2VVcmx9L2Nhcy1wcm94eS9hcHAvbG9nb3V0YDtcbiAgfVxuXG4gIHRvKHVybD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh1cmwpIHRoaXMud2luLmxvY2F0aW9uLmhyZWYgPSB1cmw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { BUSINESS_DEFAULT_CONFIG, mergeBisConfig } from '@yelon/bis/config';
|
|
3
|
-
import { deepCopy, log, useLocalStorageUser } from '@yelon/util';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@yelon/util";
|
|
6
|
-
import * as i2 from "@angular/router";
|
|
7
|
-
export class ActGuardService {
|
|
8
|
-
constructor(configService, pathToRegexp, router) {
|
|
9
|
-
this.configService = configService;
|
|
10
|
-
this.pathToRegexp = pathToRegexp;
|
|
11
|
-
this.router = router;
|
|
12
|
-
this.bis = BUSINESS_DEFAULT_CONFIG;
|
|
13
|
-
this.menus = [];
|
|
14
|
-
this.links = [];
|
|
15
|
-
log('act: ');
|
|
16
|
-
this.bis = mergeBisConfig(this.configService);
|
|
17
|
-
log('act: config ', this.bis);
|
|
18
|
-
const [, getUser] = useLocalStorageUser();
|
|
19
|
-
const user = getUser();
|
|
20
|
-
log('act: user ', user);
|
|
21
|
-
// @ts-ignore
|
|
22
|
-
this.menus = deepCopy(user.menu || []).filter((m) => m.systemCode && m.systemCode === this.bis.systemCode);
|
|
23
|
-
log('act: menus ', this.menus);
|
|
24
|
-
this.getAllLinks(this.menus, this.links);
|
|
25
|
-
log('act: links ', this.links);
|
|
26
|
-
}
|
|
27
|
-
process(url) {
|
|
28
|
-
log('act: can activate ', url);
|
|
29
|
-
if (this.preHandle(url)) {
|
|
30
|
-
return true;
|
|
31
|
-
}
|
|
32
|
-
log('act: can activate child prehandle success');
|
|
33
|
-
let canactivate = false;
|
|
34
|
-
this.links.forEach((link) => {
|
|
35
|
-
// path = /xxx
|
|
36
|
-
if (link === url.split('?')[0]) {
|
|
37
|
-
canactivate = true;
|
|
38
|
-
log(`act: link value ${link} equals url value ${url}`);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
// paht = /xxx/:xx
|
|
42
|
-
const regexp = this.pathToRegexp.stringToRegexp(link, null, null);
|
|
43
|
-
log(`act: ${link} test ${url.split('?')[0]}`);
|
|
44
|
-
if (regexp.test(url.split('?')[0])) {
|
|
45
|
-
canactivate = true;
|
|
46
|
-
log(`act: test value ${canactivate}`);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
if (canactivate) {
|
|
51
|
-
log(`act: test sucess`);
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
log(`act: test error`);
|
|
56
|
-
this.router.navigate(['displayIndex']);
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
preHandle(url) {
|
|
61
|
-
return (url.includes('error') ||
|
|
62
|
-
url.includes('exception') ||
|
|
63
|
-
url.includes('displayIndex') ||
|
|
64
|
-
url === '' ||
|
|
65
|
-
url === null ||
|
|
66
|
-
url === '/' ||
|
|
67
|
-
url.includes('iframePage'));
|
|
68
|
-
}
|
|
69
|
-
getAllLinks(menu, links) {
|
|
70
|
-
menu.forEach((sider) => {
|
|
71
|
-
if (sider.link) {
|
|
72
|
-
links.push(sider.link);
|
|
73
|
-
}
|
|
74
|
-
if (sider.children && sider.children.length > 0) {
|
|
75
|
-
this.getAllLinks(sider.children, links);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ActGuardService, deps: [{ token: i1.YunzaiConfigService }, { token: i1.PathToRegexpService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
80
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ActGuardService, providedIn: 'root' }); }
|
|
81
|
-
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ActGuardService, decorators: [{
|
|
83
|
-
type: Injectable,
|
|
84
|
-
args: [{ providedIn: 'root' }]
|
|
85
|
-
}], ctorParameters: () => [{ type: i1.YunzaiConfigService }, { type: i1.PathToRegexpService }, { type: i2.Router }] });
|
|
86
|
-
export const actGuardCanActive = (_, state) => inject(ActGuardService).process(state.url);
|
|
87
|
-
export const actGuardCanActiveChild = (_, state) => inject(ActGuardService).process(state.url);
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWFjdC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9zcmMveXVuemFpLWFjdC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUUsT0FBTyxFQUNMLFFBQVEsRUFDUixHQUFHLEVBSUgsbUJBQW1CLEVBRXBCLE1BQU0sYUFBYSxDQUFDOzs7O0FBSXJCLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsYUFBa0MsRUFDbEMsWUFBaUMsRUFDakMsTUFBYztRQUZkLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVBoQixRQUFHLEdBQXlCLHVCQUF1QixDQUFDO1FBQ3BELFVBQUssR0FBZ0IsRUFBRSxDQUFDO1FBQ3hCLFVBQUssR0FBYSxFQUFFLENBQUM7UUFPM0IsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLG1CQUFtQixFQUFFLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQWUsT0FBTyxFQUFHLENBQUM7UUFDcEMsR0FBRyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4QixhQUFhO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUUsSUFBSSxDQUFDLElBQWtCLElBQUksRUFBRSxDQUFDLENBQUMsTUFB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QztZQUNELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBL0VVLGVBQWU7bUhBQWYsZUFBZSxjQURGLE1BQU07OzRGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFtRmxDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFrQixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pHLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUF1QixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW5BY3RpdmF0ZUNoaWxkRm4sIENhbkFjdGl2YXRlRm4sIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEJVU0lORVNTX0RFRkFVTFRfQ09ORklHLCBtZXJnZUJpc0NvbmZpZyB9IGZyb20gJ0B5ZWxvbi9iaXMvY29uZmlnJztcbmltcG9ydCB7IE1lbnUgfSBmcm9tICdAeWVsb24vdGhlbWUnO1xuaW1wb3J0IHtcbiAgZGVlcENvcHksXG4gIGxvZyxcbiAgWXVuemFpQnVzaW5lc3NDb25maWcsXG4gIFl1bnphaUNvbmZpZ1NlcnZpY2UsXG4gIFBhdGhUb1JlZ2V4cFNlcnZpY2UsXG4gIHVzZUxvY2FsU3RvcmFnZVVzZXIsXG4gIFl1bnphaVVzZXJcbn0gZnJvbSAnQHllbG9uL3V0aWwnO1xuaW1wb3J0IHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBY3RHdWFyZFNlcnZpY2Uge1xuICBwcml2YXRlIGJpczogWXVuemFpQnVzaW5lc3NDb25maWcgPSBCVVNJTkVTU19ERUZBVUxUX0NPTkZJRztcbiAgcHJpdmF0ZSBtZW51czogTnpTYWZlQW55W10gPSBbXTtcbiAgcHJpdmF0ZSBsaW5rczogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IFl1bnphaUNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYXRoVG9SZWdleHA6IFBhdGhUb1JlZ2V4cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICBsb2coJ2FjdDogJyk7XG4gICAgdGhpcy5iaXMgPSBtZXJnZUJpc0NvbmZpZyh0aGlzLmNvbmZpZ1NlcnZpY2UpO1xuICAgIGxvZygnYWN0OiBjb25maWcgJywgdGhpcy5iaXMpO1xuICAgIGNvbnN0IFssIGdldFVzZXJdID0gdXNlTG9jYWxTdG9yYWdlVXNlcigpO1xuICAgIGNvbnN0IHVzZXI6IFl1bnphaVVzZXIgPSBnZXRVc2VyKCkhO1xuICAgIGxvZygnYWN0OiB1c2VyICcsIHVzZXIpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLm1lbnVzID0gZGVlcENvcHkoKHVzZXIubWVudSBhcyBOelNhZmVBbnkpIHx8IFtdKS5maWx0ZXIoXG4gICAgICAobTogTWVudSkgPT4gbS5zeXN0ZW1Db2RlICYmIG0uc3lzdGVtQ29kZSA9PT0gdGhpcy5iaXMuc3lzdGVtQ29kZVxuICAgICkgYXMgTWVudVtdO1xuICAgIGxvZygnYWN0OiBtZW51cyAnLCB0aGlzLm1lbnVzKTtcbiAgICB0aGlzLmdldEFsbExpbmtzKHRoaXMubWVudXMsIHRoaXMubGlua3MpO1xuICAgIGxvZygnYWN0OiBsaW5rcyAnLCB0aGlzLmxpbmtzKTtcbiAgfVxuXG4gIHByb2Nlc3ModXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBsb2coJ2FjdDogY2FuIGFjdGl2YXRlICcsIHVybCk7XG4gICAgaWYgKHRoaXMucHJlSGFuZGxlKHVybCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBsb2coJ2FjdDogY2FuIGFjdGl2YXRlIGNoaWxkIHByZWhhbmRsZSBzdWNjZXNzJyk7XG4gICAgbGV0IGNhbmFjdGl2YXRlID0gZmFsc2U7XG4gICAgdGhpcy5saW5rcy5mb3JFYWNoKChsaW5rOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIHBhdGggPSAveHh4XG4gICAgICBpZiAobGluayA9PT0gdXJsLnNwbGl0KCc/JylbMF0pIHtcbiAgICAgICAgY2FuYWN0aXZhdGUgPSB0cnVlO1xuICAgICAgICBsb2coYGFjdDogbGluayB2YWx1ZSAke2xpbmt9IGVxdWFscyB1cmwgdmFsdWUgJHt1cmx9YCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIHBhaHQgPSAveHh4Lzp4eFxuICAgICAgY29uc3QgcmVnZXhwOiBSZWdFeHAgPSB0aGlzLnBhdGhUb1JlZ2V4cC5zdHJpbmdUb1JlZ2V4cChsaW5rLCBudWxsLCBudWxsKTtcbiAgICAgIGxvZyhgYWN0OiAke2xpbmt9IHRlc3QgJHt1cmwuc3BsaXQoJz8nKVswXX1gKTtcbiAgICAgIGlmIChyZWdleHAudGVzdCh1cmwuc3BsaXQoJz8nKVswXSkpIHtcbiAgICAgICAgY2FuYWN0aXZhdGUgPSB0cnVlO1xuICAgICAgICBsb2coYGFjdDogdGVzdCB2YWx1ZSAke2NhbmFjdGl2YXRlfWApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKGNhbmFjdGl2YXRlKSB7XG4gICAgICBsb2coYGFjdDogdGVzdCBzdWNlc3NgKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2coYGFjdDogdGVzdCBlcnJvcmApO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydkaXNwbGF5SW5kZXgnXSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJlSGFuZGxlKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHVybC5pbmNsdWRlcygnZXJyb3InKSB8fFxuICAgICAgdXJsLmluY2x1ZGVzKCdleGNlcHRpb24nKSB8fFxuICAgICAgdXJsLmluY2x1ZGVzKCdkaXNwbGF5SW5kZXgnKSB8fFxuICAgICAgdXJsID09PSAnJyB8fFxuICAgICAgdXJsID09PSBudWxsIHx8XG4gICAgICB1cmwgPT09ICcvJyB8fFxuICAgICAgdXJsLmluY2x1ZGVzKCdpZnJhbWVQYWdlJylcbiAgICApO1xuICB9XG5cbiAgZ2V0QWxsTGlua3MobWVudTogTWVudVtdLCBsaW5rczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBtZW51LmZvckVhY2goKHNpZGVyOiBNZW51KSA9PiB7XG4gICAgICBpZiAoc2lkZXIubGluaykge1xuICAgICAgICBsaW5rcy5wdXNoKHNpZGVyLmxpbmspO1xuICAgICAgfVxuICAgICAgaWYgKHNpZGVyLmNoaWxkcmVuICYmIHNpZGVyLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5nZXRBbGxMaW5rcyhzaWRlci5jaGlsZHJlbiwgbGlua3MpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBhY3RHdWFyZENhbkFjdGl2ZTogQ2FuQWN0aXZhdGVGbiA9IChfLCBzdGF0ZSkgPT4gaW5qZWN0KEFjdEd1YXJkU2VydmljZSkucHJvY2VzcyhzdGF0ZS51cmwpO1xuZXhwb3J0IGNvbnN0IGFjdEd1YXJkQ2FuQWN0aXZlQ2hpbGQ6IENhbkFjdGl2YXRlQ2hpbGRGbiA9IChfLCBzdGF0ZSkgPT4gaW5qZWN0KEFjdEd1YXJkU2VydmljZSkucHJvY2VzcyhzdGF0ZS51cmwpO1xuIl19
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Inject, inject, Injectable } from '@angular/core';
|
|
2
|
-
import { YA_SERVICE_TOKEN } from '@yelon/auth';
|
|
3
|
-
import { BUSINESS_DEFAULT_CONFIG, mergeBisConfig } from '@yelon/bis/config';
|
|
4
|
-
import { deepCopy, useLocalStorageUser, WINDOW } from '@yelon/util';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@yelon/util";
|
|
7
|
-
export class YunzaiAnalysisAddonGuardService {
|
|
8
|
-
constructor(configService, pathToRegexp, win, tokenService) {
|
|
9
|
-
this.configService = configService;
|
|
10
|
-
this.pathToRegexp = pathToRegexp;
|
|
11
|
-
this.win = win;
|
|
12
|
-
this.tokenService = tokenService;
|
|
13
|
-
this.bis = BUSINESS_DEFAULT_CONFIG;
|
|
14
|
-
this.menus = [];
|
|
15
|
-
this.links = [];
|
|
16
|
-
this.value = {};
|
|
17
|
-
this.bis = mergeBisConfig(this.configService);
|
|
18
|
-
const [, getUser] = useLocalStorageUser();
|
|
19
|
-
const user = getUser();
|
|
20
|
-
this.menus = deepCopy(user.menu || []).filter((m) => m.systemCode && m.systemCode === this.bis.systemCode);
|
|
21
|
-
if (user) {
|
|
22
|
-
this.value = {
|
|
23
|
-
systemCode: this.bis.systemCode,
|
|
24
|
-
userid: user.id,
|
|
25
|
-
realname: user.realname,
|
|
26
|
-
usertype: user.userType,
|
|
27
|
-
usercode: user.userCode,
|
|
28
|
-
username: user.username,
|
|
29
|
-
account: user.username,
|
|
30
|
-
deptid: user.deptId,
|
|
31
|
-
deptname: user.deptName,
|
|
32
|
-
token: this.tokenService.get()?.access_token
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
if (this.menus && this.menus.length > 0) {
|
|
36
|
-
this.value['system'] = this.menus[0].text;
|
|
37
|
-
}
|
|
38
|
-
this.getAllLinks(this.menus, this.links);
|
|
39
|
-
}
|
|
40
|
-
process(url) {
|
|
41
|
-
let flag = false;
|
|
42
|
-
this.links.forEach(link => {
|
|
43
|
-
if (link.link === url.split('?')[0]) {
|
|
44
|
-
flag = true;
|
|
45
|
-
this.value['routename'] = link.title;
|
|
46
|
-
this.value['routeurl'] = link.link;
|
|
47
|
-
if (this.win['yunzai']) {
|
|
48
|
-
this.win['yunzai'].setExtra(this.value);
|
|
49
|
-
}
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
const regexp = this.pathToRegexp.stringToRegexp(link, null, null);
|
|
53
|
-
if (regexp.test(url.split('?')[0])) {
|
|
54
|
-
flag = true;
|
|
55
|
-
this.value['routename'] = link.title;
|
|
56
|
-
this.value['routeurl'] = link.link;
|
|
57
|
-
if (this.win['yunzai']) {
|
|
58
|
-
this.win['yunzai'].setExtra(this.value);
|
|
59
|
-
}
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
if (!flag) {
|
|
64
|
-
this.value['routename'] = url;
|
|
65
|
-
this.value['routeurl'] = url;
|
|
66
|
-
if (this.win['yunzai']) {
|
|
67
|
-
this.win['yunzai'].setExtra(this.value);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
getAllLinks(menu, links) {
|
|
73
|
-
menu.forEach((sider) => {
|
|
74
|
-
if (sider.link) {
|
|
75
|
-
links.push({ title: sider.text ? sider.text : sider.link, link: sider.link });
|
|
76
|
-
}
|
|
77
|
-
if (sider.children && sider.children.length > 0) {
|
|
78
|
-
this.getAllLinks(sider.children, links);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: YunzaiAnalysisAddonGuardService, deps: [{ token: i1.YunzaiConfigService }, { token: i1.PathToRegexpService }, { token: WINDOW }, { token: YA_SERVICE_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
83
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: YunzaiAnalysisAddonGuardService, providedIn: 'root' }); }
|
|
84
|
-
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: YunzaiAnalysisAddonGuardService, decorators: [{
|
|
86
|
-
type: Injectable,
|
|
87
|
-
args: [{
|
|
88
|
-
providedIn: 'root'
|
|
89
|
-
}]
|
|
90
|
-
}], ctorParameters: () => [{ type: i1.YunzaiConfigService }, { type: i1.PathToRegexpService }, { type: undefined, decorators: [{
|
|
91
|
-
type: Inject,
|
|
92
|
-
args: [WINDOW]
|
|
93
|
-
}] }, { type: undefined, decorators: [{
|
|
94
|
-
type: Inject,
|
|
95
|
-
args: [YA_SERVICE_TOKEN]
|
|
96
|
-
}] }] });
|
|
97
|
-
export const analysisAddonCanActive = (_, state) => inject(YunzaiAnalysisAddonGuardService).process(state.url);
|
|
98
|
-
export const analysisAddonCanActiveChild = (_, state) => inject(YunzaiAnalysisAddonGuardService).process(state.url);
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWFuYWx5c2lzLWFkZG9uLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmlzL3NyYy95dW56YWktYW5hbHlzaXMtYWRkb24uZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNELE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVFLE9BQU8sRUFDTCxRQUFRLEVBRVIsbUJBQW1CLEVBQ25CLE1BQU0sRUFJUCxNQUFNLGFBQWEsQ0FBQzs7O0FBTXJCLE1BQU0sT0FBTywrQkFBK0I7SUFNMUMsWUFDVSxhQUFrQyxFQUNsQyxZQUFpQyxFQUNqQixHQUFjLEVBQ0osWUFBMkI7UUFIckQsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUFXO1FBQ0osaUJBQVksR0FBWixZQUFZLENBQWU7UUFUdkQsUUFBRyxHQUF5Qix1QkFBdUIsQ0FBQztRQUNwRCxVQUFLLEdBQWdCLEVBQUUsQ0FBQztRQUN4QixVQUFLLEdBQTJDLEVBQUUsQ0FBQztRQUNuRCxVQUFLLEdBQWMsRUFBRSxDQUFDO1FBUTVCLElBQUksQ0FBQyxHQUFHLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QyxNQUFNLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBQzFDLE1BQU0sSUFBSSxHQUFlLE9BQU8sRUFBRyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFFLElBQUksQ0FBQyxJQUFrQixJQUFJLEVBQUUsQ0FB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MEJBVUksTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLGdCQUFnQjs7QUF5RTVCLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFrQixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNoRSxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUF1QixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUMxRSxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkFjdGl2YXRlQ2hpbGRGbiwgQ2FuQWN0aXZhdGVGbiB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IElUb2tlblNlcnZpY2UsIFlBX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICdAeWVsb24vYXV0aCc7XG5pbXBvcnQgeyBCVVNJTkVTU19ERUZBVUxUX0NPTkZJRywgbWVyZ2VCaXNDb25maWcgfSBmcm9tICdAeWVsb24vYmlzL2NvbmZpZyc7XG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnQHllbG9uL3RoZW1lJztcbmltcG9ydCB7XG4gIGRlZXBDb3B5LFxuICBQYXRoVG9SZWdleHBTZXJ2aWNlLFxuICB1c2VMb2NhbFN0b3JhZ2VVc2VyLFxuICBXSU5ET1csXG4gIFl1bnphaUJ1c2luZXNzQ29uZmlnLFxuICBZdW56YWlDb25maWdTZXJ2aWNlLFxuICBZdW56YWlVc2VyXG59IGZyb20gJ0B5ZWxvbi91dGlsJztcbmltcG9ydCB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFl1bnphaUFuYWx5c2lzQWRkb25HdWFyZFNlcnZpY2Uge1xuICBwcml2YXRlIGJpczogWXVuemFpQnVzaW5lc3NDb25maWcgPSBCVVNJTkVTU19ERUZBVUxUX0NPTkZJRztcbiAgcHJpdmF0ZSBtZW51czogTnpTYWZlQW55W10gPSBbXTtcbiAgcHJpdmF0ZSBsaW5rczogQXJyYXk8eyB0aXRsZTogc3RyaW5nOyBsaW5rOiBzdHJpbmcgfT4gPSBbXTtcbiAgcHJpdmF0ZSB2YWx1ZTogTnpTYWZlQW55ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBZdW56YWlDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGF0aFRvUmVnZXhwOiBQYXRoVG9SZWdleHBTZXJ2aWNlLFxuICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHdpbjogTnpTYWZlQW55LFxuICAgIEBJbmplY3QoWUFfU0VSVklDRV9UT0tFTikgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IElUb2tlblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5iaXMgPSBtZXJnZUJpc0NvbmZpZyh0aGlzLmNvbmZpZ1NlcnZpY2UpO1xuICAgIGNvbnN0IFssIGdldFVzZXJdID0gdXNlTG9jYWxTdG9yYWdlVXNlcigpO1xuICAgIGNvbnN0IHVzZXI6IFl1bnphaVVzZXIgPSBnZXRVc2VyKCkhO1xuICAgIHRoaXMubWVudXMgPSBkZWVwQ29weSgodXNlci5tZW51IGFzIE56U2FmZUFueSkgfHwgW10pLmZpbHRlcihcbiAgICAgIChtOiBNZW51KSA9PiBtLnN5c3RlbUNvZGUgJiYgbS5zeXN0ZW1Db2RlID09PSB0aGlzLmJpcy5zeXN0ZW1Db2RlXG4gICAgKSBhcyBNZW51W107XG4gICAgaWYgKHVzZXIpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgIHN5c3RlbUNvZGU6IHRoaXMuYmlzLnN5c3RlbUNvZGUsXG4gICAgICAgIHVzZXJpZDogdXNlci5pZCxcbiAgICAgICAgcmVhbG5hbWU6IHVzZXIucmVhbG5hbWUsXG4gICAgICAgIHVzZXJ0eXBlOiB1c2VyLnVzZXJUeXBlLFxuICAgICAgICB1c2VyY29kZTogdXNlci51c2VyQ29kZSxcbiAgICAgICAgdXNlcm5hbWU6IHVzZXIudXNlcm5hbWUsXG4gICAgICAgIGFjY291bnQ6IHVzZXIudXNlcm5hbWUsXG4gICAgICAgIGRlcHRpZDogdXNlci5kZXB0SWQsXG4gICAgICAgIGRlcHRuYW1lOiB1c2VyLmRlcHROYW1lLFxuICAgICAgICB0b2tlbjogdGhpcy50b2tlblNlcnZpY2UuZ2V0KCk/LmFjY2Vzc190b2tlblxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWVudXMgJiYgdGhpcy5tZW51cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnZhbHVlWydzeXN0ZW0nXSA9ICh0aGlzLm1lbnVzWzBdIGFzIE1lbnUpLnRleHQ7XG4gICAgfVxuICAgIHRoaXMuZ2V0QWxsTGlua3ModGhpcy5tZW51cywgdGhpcy5saW5rcyk7XG4gIH1cblxuICBwcm9jZXNzKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgbGV0IGZsYWcgPSBmYWxzZTtcbiAgICB0aGlzLmxpbmtzLmZvckVhY2gobGluayA9PiB7XG4gICAgICBpZiAobGluay5saW5rID09PSB1cmwuc3BsaXQoJz8nKVswXSkge1xuICAgICAgICBmbGFnID0gdHJ1ZTtcbiAgICAgICAgdGhpcy52YWx1ZVsncm91dGVuYW1lJ10gPSBsaW5rLnRpdGxlO1xuICAgICAgICB0aGlzLnZhbHVlWydyb3V0ZXVybCddID0gbGluay5saW5rO1xuICAgICAgICBpZiAodGhpcy53aW5bJ3l1bnphaSddKSB7XG4gICAgICAgICAgdGhpcy53aW5bJ3l1bnphaSddLnNldEV4dHJhKHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlZ2V4cDogUmVnRXhwID0gdGhpcy5wYXRoVG9SZWdleHAuc3RyaW5nVG9SZWdleHAobGluaywgbnVsbCwgbnVsbCk7XG4gICAgICBpZiAocmVnZXhwLnRlc3QodXJsLnNwbGl0KCc/JylbMF0pKSB7XG4gICAgICAgIGZsYWcgPSB0cnVlO1xuICAgICAgICB0aGlzLnZhbHVlWydyb3V0ZW5hbWUnXSA9IGxpbmsudGl0bGU7XG4gICAgICAgIHRoaXMudmFsdWVbJ3JvdXRldXJsJ10gPSBsaW5rLmxpbms7XG4gICAgICAgIGlmICh0aGlzLndpblsneXVuemFpJ10pIHtcbiAgICAgICAgICB0aGlzLndpblsneXVuemFpJ10uc2V0RXh0cmEodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghZmxhZykge1xuICAgICAgdGhpcy52YWx1ZVsncm91dGVuYW1lJ10gPSB1cmw7XG4gICAgICB0aGlzLnZhbHVlWydyb3V0ZXVybCddID0gdXJsO1xuICAgICAgaWYgKHRoaXMud2luWyd5dW56YWknXSkge1xuICAgICAgICB0aGlzLndpblsneXVuemFpJ10uc2V0RXh0cmEodGhpcy52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0QWxsTGlua3MobWVudTogTWVudVtdLCBsaW5rczogQXJyYXk8eyB0aXRsZTogc3RyaW5nOyBsaW5rOiBzdHJpbmcgfT4pOiB2b2lkIHtcbiAgICBtZW51LmZvckVhY2goKHNpZGVyOiBNZW51KSA9PiB7XG4gICAgICBpZiAoc2lkZXIubGluaykge1xuICAgICAgICBsaW5rcy5wdXNoKHsgdGl0bGU6IHNpZGVyLnRleHQgPyBzaWRlci50ZXh0IDogc2lkZXIubGluaywgbGluazogc2lkZXIubGluayB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChzaWRlci5jaGlsZHJlbiAmJiBzaWRlci5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuZ2V0QWxsTGlua3Moc2lkZXIuY2hpbGRyZW4sIGxpbmtzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgYW5hbHlzaXNBZGRvbkNhbkFjdGl2ZTogQ2FuQWN0aXZhdGVGbiA9IChfLCBzdGF0ZSkgPT5cbiAgaW5qZWN0KFl1bnphaUFuYWx5c2lzQWRkb25HdWFyZFNlcnZpY2UpLnByb2Nlc3Moc3RhdGUudXJsKTtcbmV4cG9ydCBjb25zdCBhbmFseXNpc0FkZG9uQ2FuQWN0aXZlQ2hpbGQ6IENhbkFjdGl2YXRlQ2hpbGRGbiA9IChfLCBzdGF0ZSkgPT5cbiAgaW5qZWN0KFl1bnphaUFuYWx5c2lzQWRkb25HdWFyZFNlcnZpY2UpLnByb2Nlc3Moc3RhdGUudXJsKTtcbiJdfQ==
|