@yelon/bis 15.2.4 → 16.0.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.
Files changed (86) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +23 -23
  3. package/{esm2020 → esm2022}/bis.mjs +4 -4
  4. package/{esm2020 → esm2022}/index.mjs +1 -1
  5. package/{esm2020 → esm2022}/layout/bis.config.mjs +10 -10
  6. package/{esm2020 → esm2022}/layout/html-names.mjs +32 -32
  7. package/{esm2020 → esm2022}/layout/icon/style-icons.mjs +795 -795
  8. package/{esm2020 → esm2022}/layout/layout-basic/index.mjs +2 -2
  9. package/{esm2020 → esm2022}/layout/layout-basic/interface.mjs +6 -6
  10. package/{esm2020 → esm2022}/layout/layout-basic/layout-basic.component.mjs +356 -356
  11. package/{esm2020 → esm2022}/layout/layout-nav/index.mjs +4 -4
  12. package/esm2022/layout/layout-nav/layout-nav-application.component.mjs +328 -0
  13. package/{esm2020 → esm2022}/layout/layout-nav/layout-nav-group.component.mjs +125 -124
  14. package/esm2022/layout/layout-nav/layout-nav-tile.component.mjs +16 -0
  15. package/{esm2020 → esm2022}/layout/layout-nav/types.mjs +1 -1
  16. package/{esm2020 → esm2022}/layout/layout.mjs +4 -4
  17. package/{esm2020 → esm2022}/layout/public_api.mjs +12 -12
  18. package/{esm2020 → esm2022}/layout/widgets/index.mjs +6 -6
  19. package/esm2022/layout/widgets/yunzai-clear-storage.component.mjs +46 -0
  20. package/esm2022/layout/widgets/yunzai-fullscreen.component.mjs +46 -0
  21. package/{esm2020 → esm2022}/layout/widgets/yunzai-i18n.component.mjs +147 -146
  22. package/esm2022/layout/widgets/yunzai-notify.component.mjs +184 -0
  23. package/esm2022/layout/widgets/yunzai-theme-btn.component.mjs +202 -0
  24. package/esm2022/layout/widgets/yunzai-user.component.mjs +131 -0
  25. package/esm2022/layout/yunzai-act.guard.mjs +108 -0
  26. package/esm2022/layout/yunzai-auth.service.mjs +174 -0
  27. package/{esm2020 → esm2022}/layout/yunzai-default.interceptor.mjs +209 -209
  28. package/{esm2020 → esm2022}/layout/yunzai-i18n.service.mjs +131 -131
  29. package/{esm2020 → esm2022}/layout/yunzai-lang.mjs +113 -113
  30. package/esm2022/layout/yunzai-layout.module.mjs +77 -0
  31. package/{esm2020 → esm2022}/layout/yunzai-startup.service.mjs +157 -157
  32. package/{esm2020 → esm2022}/public_api.mjs +1 -1
  33. package/{fesm2015 → fesm2022}/bis.mjs +6 -6
  34. package/{fesm2020 → fesm2022}/layout.mjs +3245 -3226
  35. package/fesm2022/layout.mjs.map +1 -0
  36. package/index.d.ts +1 -1
  37. package/index.less +1 -1
  38. package/layout/bis.config.d.ts +3 -3
  39. package/layout/html-names.d.ts +31 -31
  40. package/layout/icon/style-icons.d.ts +1 -1
  41. package/layout/index.d.ts +5 -5
  42. package/layout/layout-basic/index.d.ts +2 -2
  43. package/layout/layout-basic/interface.d.ts +24 -24
  44. package/layout/layout-basic/layout-basic.component.d.ts +32 -32
  45. package/layout/layout-nav/index.d.ts +4 -4
  46. package/layout/layout-nav/layout-nav-application.component.d.ts +27 -27
  47. package/layout/layout-nav/layout-nav-group.component.d.ts +17 -17
  48. package/layout/layout-nav/layout-nav-tile.component.d.ts +6 -6
  49. package/layout/layout-nav/types.d.ts +15 -15
  50. package/layout/public_api.d.ts +12 -12
  51. package/layout/style/index.less +154 -154
  52. package/layout/widgets/index.d.ts +6 -6
  53. package/layout/widgets/yunzai-clear-storage.component.d.ts +11 -11
  54. package/layout/widgets/yunzai-fullscreen.component.d.ts +8 -8
  55. package/layout/widgets/yunzai-i18n.component.d.ts +21 -21
  56. package/layout/widgets/yunzai-notify.component.d.ts +30 -30
  57. package/layout/widgets/yunzai-theme-btn.component.d.ts +32 -32
  58. package/layout/widgets/yunzai-user.component.d.ts +28 -28
  59. package/layout/yunzai-act.guard.d.ts +22 -22
  60. package/layout/yunzai-auth.service.d.ts +21 -21
  61. package/layout/yunzai-default.interceptor.d.ts +27 -27
  62. package/layout/yunzai-i18n.service.d.ts +33 -33
  63. package/layout/yunzai-lang.d.ts +11 -11
  64. package/layout/yunzai-layout.module.d.ts +21 -21
  65. package/layout/yunzai-startup.service.d.ts +37 -37
  66. package/package.json +39 -47
  67. package/public_api.d.ts +2 -2
  68. package/theme-compact.less +3 -3
  69. package/theme-dark.less +46 -46
  70. package/theme-default.less +46 -46
  71. package/esm2020/layout/layout-nav/layout-nav-application.component.mjs +0 -327
  72. package/esm2020/layout/layout-nav/layout-nav-tile.component.mjs +0 -15
  73. package/esm2020/layout/widgets/yunzai-clear-storage.component.mjs +0 -45
  74. package/esm2020/layout/widgets/yunzai-fullscreen.component.mjs +0 -45
  75. package/esm2020/layout/widgets/yunzai-notify.component.mjs +0 -183
  76. package/esm2020/layout/widgets/yunzai-theme-btn.component.mjs +0 -201
  77. package/esm2020/layout/widgets/yunzai-user.component.mjs +0 -130
  78. package/esm2020/layout/yunzai-act.guard.mjs +0 -107
  79. package/esm2020/layout/yunzai-auth.service.mjs +0 -155
  80. package/esm2020/layout/yunzai-layout.module.mjs +0 -76
  81. package/fesm2015/layout.mjs +0 -3218
  82. package/fesm2015/layout.mjs.map +0 -1
  83. package/fesm2020/bis.mjs +0 -6
  84. package/fesm2020/bis.mjs.map +0 -1
  85. package/fesm2020/layout.mjs.map +0 -1
  86. /package/{fesm2015 → fesm2022}/bis.mjs.map +0 -0
@@ -1,130 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
2
- import { YA_SERVICE_TOKEN } from '@yelon/auth';
3
- import { WINDOW } from '@yelon/util';
4
- import { mergeBisConfig } from '../bis.config';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "ng-zorro-antd/message";
7
- import * as i2 from "@yelon/util";
8
- import * as i3 from "@yelon/cache";
9
- import * as i4 from "@angular/common";
10
- import * as i5 from "ng-zorro-antd/core/transition-patch";
11
- import * as i6 from "ng-zorro-antd/menu";
12
- import * as i7 from "ng-zorro-antd/dropdown";
13
- import * as i8 from "ng-zorro-antd/icon";
14
- import * as i9 from "ng-zorro-antd/avatar";
15
- import * as i10 from "@yelon/theme";
16
- export class YunzaiUserComponent {
17
- constructor(injector, msg, tokenService,
18
- // @ts-ignore
19
- configService, cacheService) {
20
- this.injector = injector;
21
- this.msg = msg;
22
- this.tokenService = tokenService;
23
- this.configService = configService;
24
- this.cacheService = cacheService;
25
- this.icon = '';
26
- this.username = '';
27
- this.menus = [];
28
- this.config = mergeBisConfig(configService);
29
- }
30
- ngOnInit() {
31
- const projectInfo = this.cacheService.get('_yz_project_info', { mode: 'none' });
32
- const user = this.cacheService.get('_yz_user', { mode: 'none' });
33
- this.username = user.realname ? user.realname : '未命名';
34
- this.icon = user.avatarId
35
- ? `${this.config.baseUrl}/filecenter/file/${user.avatarId}`
36
- : `./assets/tmp/img/avatar.jpg`;
37
- this.menus = projectInfo.profileList;
38
- }
39
- logout() {
40
- localStorage.clear();
41
- this.tokenService.clear();
42
- this.injector.get(WINDOW).location.href = `${this.config.baseUrl}/cas-proxy/app/logout`;
43
- }
44
- to(href) {
45
- if (href) {
46
- this.injector.get(WINDOW).open(href);
47
- }
48
- else {
49
- this.msg.error('该菜单没有配置链接!');
50
- }
51
- }
52
- }
53
- YunzaiUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: YunzaiUserComponent, deps: [{ token: i0.Injector }, { token: i1.NzMessageService }, { token: YA_SERVICE_TOKEN }, { token: i2.YunzaiConfigService }, { token: i3.CacheService }], target: i0.ɵɵFactoryTarget.Component });
54
- YunzaiUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: YunzaiUserComponent, selector: "yunzai-user", ngImport: i0, template: `
55
- <div
56
- class="yunzai-default__nav-item d-flex align-items-center px-sm"
57
- data-event-id="_nav_user"
58
- nz-dropdown
59
- nzPlacement="bottomRight"
60
- [nzDropdownMenu]="userMenu"
61
- >
62
- <div class="yz-user-name">
63
- <nz-avatar [nzSrc]="icon" nzSize="small" class="mr-sm"></nz-avatar>
64
- {{ username }}
65
- </div>
66
- </div>
67
- <nz-dropdown-menu #userMenu="nzDropdownMenu">
68
- <div nz-menu class="width-sm">
69
- <div
70
- data-event-id="_nav_user"
71
- [attr.data-name]="m.name | i18n"
72
- nz-menu-item
73
- *ngFor="let m of menus"
74
- (click)="to(m.url)"
75
- >
76
- <i nz-icon [nzType]="m.icon" class="mr-sm"></i>
77
- {{ m.name | i18n }}
78
- </div>
79
- <li nz-menu-divider></li>
80
- <div data-event-id="_nav_user" data-name="注销登录" nz-menu-item (click)="logout()">
81
- <i nz-icon nzType="logout" class="mr-sm"></i>
82
- {{ 'logout' | i18n }}
83
- </div>
84
- </div>
85
- </nz-dropdown-menu>
86
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i6.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "directive", type: i6.NzMenuItemDirective, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i6.NzMenuDividerDirective, selector: "[nz-menu-divider]", exportAs: ["nzMenuDivider"] }, { kind: "directive", type: i7.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: i7.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "directive", type: i8.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i9.NzAvatarComponent, selector: "nz-avatar", inputs: ["nzShape", "nzSize", "nzGap", "nzText", "nzSrc", "nzSrcSet", "nzAlt", "nzIcon"], outputs: ["nzError"], exportAs: ["nzAvatar"] }, { kind: "pipe", type: i10.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: YunzaiUserComponent, decorators: [{
88
- type: Component,
89
- args: [{
90
- selector: 'yunzai-user',
91
- template: `
92
- <div
93
- class="yunzai-default__nav-item d-flex align-items-center px-sm"
94
- data-event-id="_nav_user"
95
- nz-dropdown
96
- nzPlacement="bottomRight"
97
- [nzDropdownMenu]="userMenu"
98
- >
99
- <div class="yz-user-name">
100
- <nz-avatar [nzSrc]="icon" nzSize="small" class="mr-sm"></nz-avatar>
101
- {{ username }}
102
- </div>
103
- </div>
104
- <nz-dropdown-menu #userMenu="nzDropdownMenu">
105
- <div nz-menu class="width-sm">
106
- <div
107
- data-event-id="_nav_user"
108
- [attr.data-name]="m.name | i18n"
109
- nz-menu-item
110
- *ngFor="let m of menus"
111
- (click)="to(m.url)"
112
- >
113
- <i nz-icon [nzType]="m.icon" class="mr-sm"></i>
114
- {{ m.name | i18n }}
115
- </div>
116
- <li nz-menu-divider></li>
117
- <div data-event-id="_nav_user" data-name="注销登录" nz-menu-item (click)="logout()">
118
- <i nz-icon nzType="logout" class="mr-sm"></i>
119
- {{ 'logout' | i18n }}
120
- </div>
121
- </div>
122
- </nz-dropdown-menu>
123
- `,
124
- changeDetection: ChangeDetectionStrategy.OnPush
125
- }]
126
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.NzMessageService }, { type: undefined, decorators: [{
127
- type: Inject,
128
- args: [YA_SERVICE_TOKEN]
129
- }] }, { type: i2.YunzaiConfigService }, { type: i3.CacheService }]; } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmlzL2xheW91dC93aWRnZXRzL3l1bnphaS11c2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFpQixNQUFNLGFBQWEsQ0FBQztBQUU5RCxPQUFPLEVBQUUsTUFBTSxFQUE2QyxNQUFNLGFBQWEsQ0FBQztBQUdoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7QUE2Qy9DLE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsWUFDVSxRQUFrQixFQUNsQixHQUFxQixFQUNLLFlBQTJCO0lBQzdELGFBQWE7SUFDTCxhQUFrQyxFQUNsQyxZQUEwQjtRQUwxQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQ0ssaUJBQVksR0FBWixZQUFZLENBQWU7UUFFckQsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBS3BDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixVQUFLLEdBQWUsRUFBRSxDQUFDO1FBTHJCLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFNRCxRQUFRO1FBQ04sTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNoRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN0RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxvQkFBb0IsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMzRCxDQUFDLENBQUMsNkJBQTZCLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNO1FBQ0osWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyx1QkFBdUIsQ0FBQztJQUMxRixDQUFDO0lBRUQsRUFBRSxDQUFDLElBQVk7UUFDYixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QzthQUFNO1lBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDOztnSEF4Q1UsbUJBQW1CLDBFQU1wQixnQkFBZ0I7b0dBTmYsbUJBQW1CLG1EQW5DcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUOzJGQUdVLG1CQUFtQjtrQkFyQy9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ1Q7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFPSSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBZQV9TRVJWSUNFX1RPS0VOLCBJVG9rZW5TZXJ2aWNlIH0gZnJvbSAnQHllbG9uL2F1dGgnO1xuaW1wb3J0IHsgQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnQHllbG9uL2NhY2hlJztcbmltcG9ydCB7IFdJTkRPVywgWXVuemFpQnVzaW5lc3NDb25maWcsIFl1bnphaUNvbmZpZ1NlcnZpY2UgfSBmcm9tICdAeWVsb24vdXRpbCc7XG5pbXBvcnQgeyBOek1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9tZXNzYWdlJztcblxuaW1wb3J0IHsgbWVyZ2VCaXNDb25maWcgfSBmcm9tICcuLi9iaXMuY29uZmlnJztcblxuZXhwb3J0IGludGVyZmFjZSBVc2VyTGluayB7XG4gIGljb246IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXVuemFpLXVzZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwieXVuemFpLWRlZmF1bHRfX25hdi1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcHgtc21cIlxuICAgICAgZGF0YS1ldmVudC1pZD1cIl9uYXZfdXNlclwiXG4gICAgICBuei1kcm9wZG93blxuICAgICAgbnpQbGFjZW1lbnQ9XCJib3R0b21SaWdodFwiXG4gICAgICBbbnpEcm9wZG93bk1lbnVdPVwidXNlck1lbnVcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJ5ei11c2VyLW5hbWVcIj5cbiAgICAgICAgPG56LWF2YXRhciBbbnpTcmNdPVwiaWNvblwiIG56U2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJtci1zbVwiPjwvbnotYXZhdGFyPlxuICAgICAgICB7eyB1c2VybmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG56LWRyb3Bkb3duLW1lbnUgI3VzZXJNZW51PVwibnpEcm9wZG93bk1lbnVcIj5cbiAgICAgIDxkaXYgbnotbWVudSBjbGFzcz1cIndpZHRoLXNtXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLWV2ZW50LWlkPVwiX25hdl91c2VyXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLW5hbWVdPVwibS5uYW1lIHwgaTE4blwiXG4gICAgICAgICAgbnotbWVudS1pdGVtXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG0gb2YgbWVudXNcIlxuICAgICAgICAgIChjbGljayk9XCJ0byhtLnVybClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgbnotaWNvbiBbbnpUeXBlXT1cIm0uaWNvblwiIGNsYXNzPVwibXItc21cIj48L2k+XG4gICAgICAgICAge3sgbS5uYW1lIHwgaTE4biB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGxpIG56LW1lbnUtZGl2aWRlcj48L2xpPlxuICAgICAgICA8ZGl2IGRhdGEtZXZlbnQtaWQ9XCJfbmF2X3VzZXJcIiBkYXRhLW5hbWU9XCLms6jplIDnmbvlvZVcIiBuei1tZW51LWl0ZW0gKGNsaWNrKT1cImxvZ291dCgpXCI+XG4gICAgICAgICAgPGkgbnotaWNvbiBuelR5cGU9XCJsb2dvdXRcIiBjbGFzcz1cIm1yLXNtXCI+PC9pPlxuICAgICAgICAgIHt7ICdsb2dvdXQnIHwgaTE4biB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbnotZHJvcGRvd24tbWVudT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgWXVuemFpVXNlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgY29uZmlnOiBZdW56YWlCdXNpbmVzc0NvbmZpZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIG1zZzogTnpNZXNzYWdlU2VydmljZSxcbiAgICBASW5qZWN0KFlBX1NFUlZJQ0VfVE9LRU4pIHByaXZhdGUgdG9rZW5TZXJ2aWNlOiBJVG9rZW5TZXJ2aWNlLFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IFl1bnphaUNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZVxuICApIHtcbiAgICB0aGlzLmNvbmZpZyA9IG1lcmdlQmlzQ29uZmlnKGNvbmZpZ1NlcnZpY2UpO1xuICB9XG5cbiAgaWNvbjogc3RyaW5nID0gJyc7XG4gIHVzZXJuYW1lOiBzdHJpbmcgPSAnJztcbiAgbWVudXM6IFVzZXJMaW5rW10gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBwcm9qZWN0SW5mbyA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldCgnX3l6X3Byb2plY3RfaW5mbycsIHsgbW9kZTogJ25vbmUnIH0pO1xuICAgIGNvbnN0IHVzZXIgPSB0aGlzLmNhY2hlU2VydmljZS5nZXQoJ195el91c2VyJywgeyBtb2RlOiAnbm9uZScgfSk7XG4gICAgdGhpcy51c2VybmFtZSA9IHVzZXIucmVhbG5hbWUgPyB1c2VyLnJlYWxuYW1lIDogJ+acquWRveWQjSc7XG4gICAgdGhpcy5pY29uID0gdXNlci5hdmF0YXJJZFxuICAgICAgPyBgJHt0aGlzLmNvbmZpZy5iYXNlVXJsfS9maWxlY2VudGVyL2ZpbGUvJHt1c2VyLmF2YXRhcklkfWBcbiAgICAgIDogYC4vYXNzZXRzL3RtcC9pbWcvYXZhdGFyLmpwZ2A7XG4gICAgdGhpcy5tZW51cyA9IHByb2plY3RJbmZvLnByb2ZpbGVMaXN0O1xuICB9XG5cbiAgbG9nb3V0KCk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgIHRoaXMudG9rZW5TZXJ2aWNlLmNsZWFyKCk7XG4gICAgdGhpcy5pbmplY3Rvci5nZXQoV0lORE9XKS5sb2NhdGlvbi5ocmVmID0gYCR7dGhpcy5jb25maWcuYmFzZVVybH0vY2FzLXByb3h5L2FwcC9sb2dvdXRgO1xuICB9XG5cbiAgdG8oaHJlZjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGhyZWYpIHtcbiAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KFdJTkRPVykub3BlbihocmVmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tc2cuZXJyb3IoJ+ivpeiPnOWNleayoeaciemFjee9rumTvuaOpSEnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,107 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { deepCopy, log } from '@yelon/util';
3
- import { BUSINESS_DEFAULT_CONFIG, mergeBisConfig } from './bis.config';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@yelon/util";
6
- import * as i2 from "@yelon/cache";
7
- import * as i3 from "@angular/router";
8
- export class ActGuard {
9
- constructor(configService, cacheService, pathToRegexp, router) {
10
- this.configService = configService;
11
- this.cacheService = cacheService;
12
- this.pathToRegexp = pathToRegexp;
13
- this.router = router;
14
- this.bis = BUSINESS_DEFAULT_CONFIG;
15
- this.menus = [];
16
- this.links = [];
17
- log('act: ');
18
- this.bis = mergeBisConfig(this.configService);
19
- log('act: config ', this.bis);
20
- const user = this.cacheService.get('_yz_user', { mode: 'none' });
21
- log('act: user ', user);
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
- canActivate(_, state) {
28
- log('act: can activate ', state);
29
- if (this.preHandle(state)) {
30
- return true;
31
- }
32
- log('act: can activate child prehandle success');
33
- let canactivate = false;
34
- this.links.forEach((link) => {
35
- const regexp = this.pathToRegexp.stringToRegexp(link, null, null);
36
- log(`act: ${link} test ${state.url.split('?')[0]}`);
37
- if (regexp.test(state.url.split('?')[0])) {
38
- canactivate = true;
39
- log(`act: test value ${canactivate}`);
40
- return;
41
- }
42
- });
43
- if (canactivate) {
44
- log(`act: test sucess`);
45
- return true;
46
- }
47
- else {
48
- log(`act: test error`);
49
- this.router.navigate(['displayIndex']);
50
- return false;
51
- }
52
- }
53
- canActivateChild(_, state) {
54
- log('act: can activate child ', state);
55
- if (this.preHandle(state)) {
56
- return true;
57
- }
58
- log('act: can activate child prehandle success');
59
- let canactivate = false;
60
- this.links.forEach((link) => {
61
- const regexp = this.pathToRegexp.stringToRegexp(link, null, null);
62
- if (regexp.test(state.url.split('?')[0])) {
63
- log(`act: ${link} test ${state.url.split('?')[0]}`);
64
- canactivate = true;
65
- log(`act: test value ${canactivate}`);
66
- return;
67
- }
68
- });
69
- if (canactivate) {
70
- log(`act: test sucess`);
71
- return true;
72
- }
73
- else {
74
- log(`act: test error`);
75
- this.router.navigate(['displayIndex']);
76
- return false;
77
- }
78
- }
79
- preHandle(state) {
80
- return (state.url.includes('error') ||
81
- state.url.includes('exception') ||
82
- state.url.includes('displayIndex') ||
83
- state.url === '' ||
84
- state.url === null ||
85
- state.url === '/' ||
86
- state.url.includes('iframePage'));
87
- }
88
- getAllLinks(menu, links) {
89
- menu.forEach((sider) => {
90
- if (sider.link) {
91
- links.push(sider.link);
92
- }
93
- if (sider.children && sider.children.length > 0) {
94
- this.getAllLinks(sider.children, links);
95
- }
96
- });
97
- }
98
- }
99
- ActGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActGuard, deps: [{ token: i1.YunzaiConfigService }, { token: i2.CacheService }, { token: i1.PathToRegexpService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
100
- ActGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActGuard, providedIn: 'root' });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActGuard, decorators: [{
102
- type: Injectable,
103
- args: [{
104
- providedIn: 'root'
105
- }]
106
- }], ctorParameters: function () { return [{ type: i1.YunzaiConfigService }, { type: i2.CacheService }, { type: i1.PathToRegexpService }, { type: i3.Router }]; } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWFjdC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQveXVuemFpLWFjdC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBYTNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFrRSxNQUFNLGFBQWEsQ0FBQztBQUc1RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQUt2RSxNQUFNLE9BQU8sUUFBUTtJQUtuQixZQUNVLGFBQWtDLEVBQ2xDLFlBQTBCLEVBQzFCLFlBQWlDLEVBQ2pDLE1BQWM7UUFIZCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFSaEIsUUFBRyxHQUF5Qix1QkFBdUIsQ0FBQztRQUNwRCxVQUFLLEdBQWdCLEVBQUUsQ0FBQztRQUN4QixVQUFLLEdBQWEsRUFBRSxDQUFDO1FBUTNCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxHQUFHLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QyxHQUFHLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixNQUFNLElBQUksR0FBUyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN2RSxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FB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OztxR0F4R1UsUUFBUTt5R0FBUixRQUFRLGNBRlAsTUFBTTsyRkFFUCxRQUFRO2tCQUhwQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIENhbkFjdGl2YXRlLFxuICBDYW5BY3RpdmF0ZUNoaWxkLFxuICBSb3V0ZXIsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG4gIFVybFRyZWVcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnQHllbG9uL2NhY2hlJztcbmltcG9ydCB7IE1lbnUsIFVzZXIgfSBmcm9tICdAeWVsb24vdGhlbWUnO1xuaW1wb3J0IHsgZGVlcENvcHksIGxvZywgWXVuemFpQnVzaW5lc3NDb25maWcsIFl1bnphaUNvbmZpZ1NlcnZpY2UsIFBhdGhUb1JlZ2V4cFNlcnZpY2UgfSBmcm9tICdAeWVsb24vdXRpbCc7XG5pbXBvcnQgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBCVVNJTkVTU19ERUZBVUxUX0NPTkZJRywgbWVyZ2VCaXNDb25maWcgfSBmcm9tICcuL2Jpcy5jb25maWcnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBY3RHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkIHtcbiAgcHJpdmF0ZSBiaXM6IFl1bnphaUJ1c2luZXNzQ29uZmlnID0gQlVTSU5FU1NfREVGQVVMVF9DT05GSUc7XG4gIHByaXZhdGUgbWVudXM6IE56U2FmZUFueVtdID0gW107XG4gIHByaXZhdGUgbGlua3M6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBZdW56YWlDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FjaGVTZXJ2aWNlOiBDYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYXRoVG9SZWdleHA6IFBhdGhUb1JlZ2V4cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICBsb2coJ2FjdDogJyk7XG4gICAgdGhpcy5iaXMgPSBtZXJnZUJpc0NvbmZpZyh0aGlzLmNvbmZpZ1NlcnZpY2UpO1xuICAgIGxvZygnYWN0OiBjb25maWcgJywgdGhpcy5iaXMpO1xuICAgIGNvbnN0IHVzZXI6IFVzZXIgPSB0aGlzLmNhY2hlU2VydmljZS5nZXQoJ195el91c2VyJywgeyBtb2RlOiAnbm9uZScgfSk7XG4gICAgbG9nKCdhY3Q6IHVzZXIgJywgdXNlcik7XG4gICAgdGhpcy5tZW51cyA9IGRlZXBDb3B5KHVzZXIubWVudSkuZmlsdGVyKFxuICAgICAgKG06IE1lbnUpID0+IG0uc3lzdGVtQ29kZSAmJiBtLnN5c3RlbUNvZGUgPT09IHRoaXMuYmlzLnN5c3RlbUNvZGVcbiAgICApIGFzIE1lbnVbXTtcbiAgICBsb2coJ2FjdDogbWVudXMgJywgdGhpcy5tZW51cyk7XG4gICAgdGhpcy5nZXRBbGxMaW5rcyh0aGlzLm1lbnVzLCB0aGlzLmxpbmtzKTtcbiAgICBsb2coJ2FjdDogbGlua3MgJywgdGhpcy5saW5rcyk7XG4gIH1cblxuICBjYW5BY3RpdmF0ZShcbiAgICBfOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XG4gICk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgbG9nKCdhY3Q6IGNhbiBhY3RpdmF0ZSAnLCBzdGF0ZSk7XG4gICAgaWYgKHRoaXMucHJlSGFuZGxlKHN0YXRlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGxvZygnYWN0OiBjYW4gYWN0aXZhdGUgY2hpbGQgcHJlaGFuZGxlIHN1Y2Nlc3MnKTtcbiAgICBsZXQgY2FuYWN0aXZhdGUgPSBmYWxzZTtcbiAgICB0aGlzLmxpbmtzLmZvckVhY2goKGxpbms6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgcmVnZXhwOiBSZWdFeHAgPSB0aGlzLnBhdGhUb1JlZ2V4cC5zdHJpbmdUb1JlZ2V4cChsaW5rLCBudWxsLCBudWxsKTtcbiAgICAgIGxvZyhgYWN0OiAke2xpbmt9IHRlc3QgJHtzdGF0ZS51cmwuc3BsaXQoJz8nKVswXX1gKTtcbiAgICAgIGlmIChyZWdleHAudGVzdChzdGF0ZS51cmwuc3BsaXQoJz8nKVswXSkpIHtcbiAgICAgICAgY2FuYWN0aXZhdGUgPSB0cnVlO1xuICAgICAgICBsb2coYGFjdDogdGVzdCB2YWx1ZSAke2NhbmFjdGl2YXRlfWApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKGNhbmFjdGl2YXRlKSB7XG4gICAgICBsb2coYGFjdDogdGVzdCBzdWNlc3NgKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2coYGFjdDogdGVzdCBlcnJvcmApO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydkaXNwbGF5SW5kZXgnXSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY2FuQWN0aXZhdGVDaGlsZChcbiAgICBfOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XG4gICk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgbG9nKCdhY3Q6IGNhbiBhY3RpdmF0ZSBjaGlsZCAnLCBzdGF0ZSk7XG4gICAgaWYgKHRoaXMucHJlSGFuZGxlKHN0YXRlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGxvZygnYWN0OiBjYW4gYWN0aXZhdGUgY2hpbGQgcHJlaGFuZGxlIHN1Y2Nlc3MnKTtcblxuICAgIGxldCBjYW5hY3RpdmF0ZSA9IGZhbHNlO1xuICAgIHRoaXMubGlua3MuZm9yRWFjaCgobGluazogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCByZWdleHA6IFJlZ0V4cCA9IHRoaXMucGF0aFRvUmVnZXhwLnN0cmluZ1RvUmVnZXhwKGxpbmssIG51bGwsIG51bGwpO1xuICAgICAgaWYgKHJlZ2V4cC50ZXN0KHN0YXRlLnVybC5zcGxpdCgnPycpWzBdKSkge1xuICAgICAgICBsb2coYGFjdDogJHtsaW5rfSB0ZXN0ICR7c3RhdGUudXJsLnNwbGl0KCc/JylbMF19YCk7XG4gICAgICAgIGNhbmFjdGl2YXRlID0gdHJ1ZTtcbiAgICAgICAgbG9nKGBhY3Q6IHRlc3QgdmFsdWUgJHtjYW5hY3RpdmF0ZX1gKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChjYW5hY3RpdmF0ZSkge1xuICAgICAgbG9nKGBhY3Q6IHRlc3Qgc3VjZXNzYCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nKGBhY3Q6IHRlc3QgZXJyb3JgKTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnZGlzcGxheUluZGV4J10pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByZUhhbmRsZShzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBzdGF0ZS51cmwuaW5jbHVkZXMoJ2Vycm9yJykgfHxcbiAgICAgIHN0YXRlLnVybC5pbmNsdWRlcygnZXhjZXB0aW9uJykgfHxcbiAgICAgIHN0YXRlLnVybC5pbmNsdWRlcygnZGlzcGxheUluZGV4JykgfHxcbiAgICAgIHN0YXRlLnVybCA9PT0gJycgfHxcbiAgICAgIHN0YXRlLnVybCA9PT0gbnVsbCB8fFxuICAgICAgc3RhdGUudXJsID09PSAnLycgfHxcbiAgICAgIHN0YXRlLnVybC5pbmNsdWRlcygnaWZyYW1lUGFnZScpXG4gICAgKTtcbiAgfVxuXG4gIGdldEFsbExpbmtzKG1lbnU6IE1lbnVbXSwgbGlua3M6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgbWVudS5mb3JFYWNoKChzaWRlcjogTWVudSkgPT4ge1xuICAgICAgaWYgKHNpZGVyLmxpbmspIHtcbiAgICAgICAgbGlua3MucHVzaChzaWRlci5saW5rKTtcbiAgICAgIH1cbiAgICAgIGlmIChzaWRlci5jaGlsZHJlbiAmJiBzaWRlci5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuZ2V0QWxsTGlua3Moc2lkZXIuY2hpbGRyZW4sIGxpbmtzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,155 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { forkJoin, map, mergeAll, mergeMap, of } from 'rxjs';
3
- import { YA_SERVICE_TOKEN } from '@yelon/auth';
4
- import { CacheService } from '@yelon/cache';
5
- import { _HttpClient } from '@yelon/theme';
6
- import { log, WINDOW, YunzaiConfigService } from '@yelon/util';
7
- import { mergeBisConfig } from './bis.config';
8
- import * as i0 from "@angular/core";
9
- class YunzaiAuthService {
10
- constructor(injector) {
11
- this.injector = injector;
12
- this.config = mergeBisConfig(this.configService);
13
- }
14
- get configService() {
15
- return this.injector.get(YunzaiConfigService);
16
- }
17
- get tokenService() {
18
- return this.injector.get(YA_SERVICE_TOKEN);
19
- }
20
- get httpClient() {
21
- return this.injector.get(_HttpClient);
22
- }
23
- get cacheService() {
24
- return this.injector.get(CacheService);
25
- }
26
- askToken() {
27
- log('yz.auth.service: ', 'askToken');
28
- if (this.config.loginForm) {
29
- return this.fetchTokenByUP();
30
- }
31
- else {
32
- return this.fetchTokenByCas();
33
- }
34
- }
35
- fetchTokenByUP() {
36
- log('yz.auth.service: ', 'fetchTokenByUP');
37
- return this.httpClient.post(`/auth/oauth/token?_allow_anonymous=true`, this.config.loginForm).pipe(map((response) => {
38
- const { access_token, expires_in, refresh_token, scope, token_type } = response;
39
- return {
40
- token: access_token,
41
- expired: expires_in,
42
- refreshToken: refresh_token,
43
- tokenType: token_type,
44
- scope
45
- };
46
- }));
47
- }
48
- fetchTokenByCas() {
49
- log('yz.auth.service: ', 'fetchTokenByCas');
50
- const uri = encodeURIComponent(this.injector.get(WINDOW).location.href);
51
- return this.httpClient
52
- .get(`/cas-proxy/app/validate_full?callback=${uri}&_allow_anonymous=true&timestamp=${new Date().getTime()}`)
53
- .pipe(map((response) => {
54
- switch (response.errcode) {
55
- case 2000:
56
- const { access_token, expires_in, refresh_token, scope, token_type } = response.data;
57
- // 如果token不一致,清除缓存
58
- const token = this.tokenService.get()?.token;
59
- if (token && access_token && token !== access_token) {
60
- this.cacheService.clear();
61
- }
62
- return {
63
- token: access_token,
64
- expired: expires_in,
65
- refreshToken: refresh_token,
66
- tokenType: token_type,
67
- scope
68
- };
69
- case 2001:
70
- this.injector.get(WINDOW).location.href = response.msg;
71
- throw Error("Cookie Error: Can't find Cas Cookie,So jump to login!");
72
- default:
73
- if (response.data) {
74
- console.error(response.data);
75
- throw Error(response.data);
76
- }
77
- else if (response.msg) {
78
- console.error(response.msg);
79
- throw Error(response.msg);
80
- }
81
- else {
82
- console.error('cas unknown error');
83
- throw Error('Unknown Error: Cas auth exception!');
84
- }
85
- }
86
- }));
87
- }
88
- login() {
89
- log('yz.auth.service: ', 'login white login form->', this.config.loginForm);
90
- return this.askToken().pipe(mergeMap(token => {
91
- log('yz.auth.service: get token->', token);
92
- this.configService.set('auth', {
93
- token_send_key: 'Authorization',
94
- token_send_template: `${token.tokenType} \${token}`,
95
- token_send_place: 'header'
96
- });
97
- log('yz.auth.service: ', 'set token');
98
- this.tokenService.set(token);
99
- return this.cacheInit();
100
- }), mergeAll());
101
- }
102
- cacheInit() {
103
- log('yz.auth.service: ', 'cacheInit');
104
- const tenant = this.cacheService.get('_yz_tenant', { mode: 'none' });
105
- const user = this.cacheService.get('_yz_user', { mode: 'none' });
106
- const header = this.cacheService.get('_yz_header', { mode: 'none' });
107
- const project = this.cacheService.get('_yz_project_info', { mode: 'none' });
108
- return forkJoin(of(user), of(header), of(project)).pipe(mergeMap(([u, h, p]) => {
109
- let list = [];
110
- // user cache
111
- if (!u || !tenant) {
112
- log('yz.auth.service: ', 'fetch user cache');
113
- list.push(this.httpClient.get(`/auth/user`).pipe(map((user) => {
114
- this.cacheService.set('_yz_tenant', user.tenantId);
115
- this.cacheService.set('_yz_user', user.principal);
116
- })));
117
- }
118
- else {
119
- log('yz.auth.service: ', 'user recache');
120
- list.push(of(() => { }));
121
- }
122
- // header cache
123
- if (!h) {
124
- log('yz.auth.service: ', 'fetch header cache');
125
- list.push(this.httpClient.get(`/auth/allheader/v2`).pipe(map((header) => {
126
- this.cacheService.set('_yz_header', header.data);
127
- })));
128
- }
129
- else {
130
- log('yz.auth.service: ', 'header recache');
131
- list.push(of(() => { }));
132
- }
133
- // project cache
134
- if (!p) {
135
- log('yz.auth.service: ', 'fetch project cache');
136
- list.push(this.httpClient.get(`/app-manager/project/info`).pipe(map((info) => {
137
- this.cacheService.set('_yz_project_info', info.data);
138
- })));
139
- }
140
- else {
141
- log('yz.auth.service: ', 'project recache');
142
- list.push(of(() => { }));
143
- }
144
- return forkJoin(list);
145
- }));
146
- }
147
- }
148
- YunzaiAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: YunzaiAuthService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
149
- YunzaiAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: YunzaiAuthService, providedIn: 'root' });
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: YunzaiAuthService, decorators: [{
151
- type: Injectable,
152
- args: [{ providedIn: 'root' }]
153
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
154
- export { YunzaiAuthService as YzAuthService, YunzaiAuthService };
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQveXVuemFpLWF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpFLE9BQU8sRUFBOEIsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUF3QixtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUU5QyxNQUNNLGlCQUFpQjtJQUdyQixZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBWSxhQUFhO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBWSxVQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVksWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBQ04sR0FBRyxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDOUI7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixHQUFHLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUNoRyxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLFFBQVEsQ0FBQztZQUNoRixPQUFPO2dCQUNMLEtBQUssRUFBRSxZQUFZO2dCQUNuQixPQUFPLEVBQUUsVUFBVTtnQkFDbkIsWUFBWSxFQUFFLGFBQWE7Z0JBQzNCLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixLQUFLO2FBQ04sQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sR0FBRyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RSxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLEdBQUcsQ0FBQyx5Q0FBeUMsR0FBRyxvQ0FBb0MsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2FBQzNHLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixRQUFRLFFBQVEsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hCLEtBQUssSUFBSTtvQkFDUCxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQ3JGLGtCQUFrQjtvQkFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsRUFBRSxLQUFLLENBQUM7b0JBQzdDLElBQUksS0FBSyxJQUFJLFlBQVksSUFBSSxLQUFLLEtBQUssWUFBWSxFQUFFO3dCQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO3FCQUMzQjtvQkFDRCxPQUFPO3dCQUNMLEtBQUssRUFBRSxZQUFZO3dCQUNuQixPQUFPLEVBQUUsVUFBVTt3QkFDbkIsWUFBWSxFQUFFLGFBQWE7d0JBQzNCLFNBQVMsRUFBRSxVQUFVO3dCQUNyQixLQUFLO3FCQUNTLENBQUM7Z0JBQ25CLEtBQUssSUFBSTtvQkFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7b0JBQ3ZELE1BQU0sS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7Z0JBQ3ZFO29CQUNFLElBQUksUUFBUSxDQUFDLElBQUksRUFBRTt3QkFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQzdCLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDNUI7eUJBQU0sSUFBSSxRQUFRLENBQUMsR0FBRyxFQUFFO3dCQUN2QixPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDNUIsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUMzQjt5QkFBTTt3QkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7d0JBQ25DLE1BQU0sS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7cUJBQ25EO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUs7UUFDSCxHQUFHLENBQUMsbUJBQW1CLEVBQUUsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RSxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQ3pCLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQzdCLGNBQWMsRUFBRSxlQUFlO2dCQUMvQixtQkFBbUIsRUFBRSxHQUFHLEtBQUssQ0FBQyxTQUFTLFlBQVk7Z0JBQ25ELGdCQUFnQixFQUFFLFFBQVE7YUFDM0IsQ0FBQyxDQUFDO1lBQ0gsR0FBRyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxFQUNGLFFBQVEsRUFBRSxDQUNYLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUztRQUNQLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNyRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNyRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNyRCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7WUFDZCxhQUFhO1lBQ2IsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDakIsR0FBRyxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxJQUFJLENBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUNwQyxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtvQkFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDcEQsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLG1CQUFtQixFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBTSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlCO1lBQ0QsZUFBZTtZQUNmLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBQ04sR0FBRyxDQUFDLG1CQUFtQixFQUFFLG9CQUFvQixDQUFDLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxJQUFJLENBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQzVDLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO29CQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuRCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxHQUFHLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQU0sR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM5QjtZQUNELGdCQUFnQjtZQUNoQixJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUNOLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsSUFBSSxDQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsSUFBSSxDQUNuRCxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtvQkFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2RCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxHQUFHLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQU0sR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM5QjtZQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzs4R0FsS0csaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FERyxNQUFNOzJGQUMxQixpQkFBaUI7a0JBRHRCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQXNLbEMsT0FBTyxFQUFFLGlCQUFpQixJQUFJLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZvcmtKb2luLCBtYXAsIG1lcmdlQWxsLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSVRva2VuTW9kZWwsIElUb2tlblNlcnZpY2UsIFlBX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICdAeWVsb24vYXV0aCc7XG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UgfSBmcm9tICdAeWVsb24vY2FjaGUnO1xuaW1wb3J0IHsgX0h0dHBDbGllbnQgfSBmcm9tICdAeWVsb24vdGhlbWUnO1xuaW1wb3J0IHsgbG9nLCBXSU5ET1csIFl1bnphaUJ1c2luZXNzQ29uZmlnLCBZdW56YWlDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHllbG9uL3V0aWwnO1xuXG5pbXBvcnQgeyBtZXJnZUJpc0NvbmZpZyB9IGZyb20gJy4vYmlzLmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5jbGFzcyBZdW56YWlBdXRoU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlnOiBZdW56YWlCdXNpbmVzc0NvbmZpZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuY29uZmlnID0gbWVyZ2VCaXNDb25maWcodGhpcy5jb25maWdTZXJ2aWNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvbmZpZ1NlcnZpY2UoKTogWXVuemFpQ29uZmlnU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KFl1bnphaUNvbmZpZ1NlcnZpY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdG9rZW5TZXJ2aWNlKCk6IElUb2tlblNlcnZpY2Uge1xuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChZQV9TRVJWSUNFX1RPS0VOKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGh0dHBDbGllbnQoKTogX0h0dHBDbGllbnQge1xuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChfSHR0cENsaWVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBjYWNoZVNlcnZpY2UoKTogQ2FjaGVTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoQ2FjaGVTZXJ2aWNlKTtcbiAgfVxuXG4gIGFza1Rva2VuKCk6IE9ic2VydmFibGU8SVRva2VuTW9kZWw+IHtcbiAgICBsb2coJ3l6LmF1dGguc2VydmljZTogJywgJ2Fza1Rva2VuJyk7XG4gICAgaWYgKHRoaXMuY29uZmlnLmxvZ2luRm9ybSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hUb2tlbkJ5VVAoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hUb2tlbkJ5Q2FzKCk7XG4gICAgfVxuICB9XG5cbiAgZmV0Y2hUb2tlbkJ5VVAoKTogT2JzZXJ2YWJsZTxJVG9rZW5Nb2RlbD4ge1xuICAgIGxvZygneXouYXV0aC5zZXJ2aWNlOiAnLCAnZmV0Y2hUb2tlbkJ5VVAnKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoYC9hdXRoL29hdXRoL3Rva2VuP19hbGxvd19hbm9ueW1vdXM9dHJ1ZWAsIHRoaXMuY29uZmlnLmxvZ2luRm9ybSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB7IGFjY2Vzc190b2tlbiwgZXhwaXJlc19pbiwgcmVmcmVzaF90b2tlbiwgc2NvcGUsIHRva2VuX3R5cGUgfSA9IHJlc3BvbnNlO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHRva2VuOiBhY2Nlc3NfdG9rZW4sXG4gICAgICAgICAgZXhwaXJlZDogZXhwaXJlc19pbixcbiAgICAgICAgICByZWZyZXNoVG9rZW46IHJlZnJlc2hfdG9rZW4sXG4gICAgICAgICAgdG9rZW5UeXBlOiB0b2tlbl90eXBlLFxuICAgICAgICAgIHNjb3BlXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBmZXRjaFRva2VuQnlDYXMoKTogT2JzZXJ2YWJsZTxJVG9rZW5Nb2RlbD4ge1xuICAgIGxvZygneXouYXV0aC5zZXJ2aWNlOiAnLCAnZmV0Y2hUb2tlbkJ5Q2FzJyk7XG4gICAgY29uc3QgdXJpID0gZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuaW5qZWN0b3IuZ2V0KFdJTkRPVykubG9jYXRpb24uaHJlZik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldChgL2Nhcy1wcm94eS9hcHAvdmFsaWRhdGVfZnVsbD9jYWxsYmFjaz0ke3VyaX0mX2FsbG93X2Fub255bW91cz10cnVlJnRpbWVzdGFtcD0ke25ldyBEYXRlKCkuZ2V0VGltZSgpfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChyZXNwb25zZS5lcnJjb2RlKSB7XG4gICAgICAgICAgICBjYXNlIDIwMDA6XG4gICAgICAgICAgICAgIGNvbnN0IHsgYWNjZXNzX3Rva2VuLCBleHBpcmVzX2luLCByZWZyZXNoX3Rva2VuLCBzY29wZSwgdG9rZW5fdHlwZSB9ID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgICAgICAgLy8g5aaC5p6cdG9rZW7kuI3kuIDoh7TvvIzmuIXpmaTnvJPlrZhcbiAgICAgICAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuU2VydmljZS5nZXQoKT8udG9rZW47XG4gICAgICAgICAgICAgIGlmICh0b2tlbiAmJiBhY2Nlc3NfdG9rZW4gJiYgdG9rZW4gIT09IGFjY2Vzc190b2tlbikge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB0b2tlbjogYWNjZXNzX3Rva2VuLFxuICAgICAgICAgICAgICAgIGV4cGlyZWQ6IGV4cGlyZXNfaW4sXG4gICAgICAgICAgICAgICAgcmVmcmVzaFRva2VuOiByZWZyZXNoX3Rva2VuLFxuICAgICAgICAgICAgICAgIHRva2VuVHlwZTogdG9rZW5fdHlwZSxcbiAgICAgICAgICAgICAgICBzY29wZVxuICAgICAgICAgICAgICB9IGFzIElUb2tlbk1vZGVsO1xuICAgICAgICAgICAgY2FzZSAyMDAxOlxuICAgICAgICAgICAgICB0aGlzLmluamVjdG9yLmdldChXSU5ET1cpLmxvY2F0aW9uLmhyZWYgPSByZXNwb25zZS5tc2c7XG4gICAgICAgICAgICAgIHRocm93IEVycm9yKFwiQ29va2llIEVycm9yOiBDYW4ndCBmaW5kIENhcyBDb29raWUsU28ganVtcCB0byBsb2dpbiFcIik7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuZGF0YSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IocmVzcG9uc2UuZGF0YSk7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IocmVzcG9uc2UuZGF0YSk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UubXNnKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihyZXNwb25zZS5tc2cpO1xuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKHJlc3BvbnNlLm1zZyk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignY2FzIHVua25vd24gZXJyb3InKTtcbiAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcignVW5rbm93biBFcnJvcjogQ2FzIGF1dGggZXhjZXB0aW9uIScpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGxvZ2luKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGxvZygneXouYXV0aC5zZXJ2aWNlOiAnLCAnbG9naW4gd2hpdGUgbG9naW4gZm9ybS0+JywgdGhpcy5jb25maWcubG9naW5Gb3JtKTtcbiAgICByZXR1cm4gdGhpcy5hc2tUb2tlbigpLnBpcGUoXG4gICAgICBtZXJnZU1hcCh0b2tlbiA9PiB7XG4gICAgICAgIGxvZygneXouYXV0aC5zZXJ2aWNlOiBnZXQgdG9rZW4tPicsIHRva2VuKTtcbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnNldCgnYXV0aCcsIHtcbiAgICAgICAgICB0b2tlbl9zZW5kX2tleTogJ0F1dGhvcml6YXRpb24nLFxuICAgICAgICAgIHRva2VuX3NlbmRfdGVtcGxhdGU6IGAke3Rva2VuLnRva2VuVHlwZX0gXFwke3Rva2VufWAsXG4gICAgICAgICAgdG9rZW5fc2VuZF9wbGFjZTogJ2hlYWRlcidcbiAgICAgICAgfSk7XG4gICAgICAgIGxvZygneXouYXV0aC5zZXJ2aWNlOiAnLCAnc2V0IHRva2VuJyk7XG4gICAgICAgIHRoaXMudG9rZW5TZXJ2aWNlLnNldCh0b2tlbik7XG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlSW5pdCgpO1xuICAgICAgfSksXG4gICAgICBtZXJnZUFsbCgpXG4gICAgKTtcbiAgfVxuXG4gIGNhY2hlSW5pdCgpOiBPYnNlcnZhYmxlPHZvaWRbXT4ge1xuICAgIGxvZygneXouYXV0aC5zZXJ2aWNlOiAnLCAnY2FjaGVJbml0Jyk7XG4gICAgY29uc3QgdGVuYW50ID0gdGhpcy5jYWNoZVNlcnZpY2UuZ2V0KCdfeXpfdGVuYW50JywgeyBtb2RlOiAnbm9uZScgfSk7XG4gICAgY29uc3QgdXNlciA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldCgnX3l6X3VzZXInLCB7IG1vZGU6ICdub25lJyB9KTtcbiAgICBjb25zdCBoZWFkZXIgPSB0aGlzLmNhY2hlU2VydmljZS5nZXQoJ195el9oZWFkZXInLCB7IG1vZGU6ICdub25lJyB9KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gdGhpcy5jYWNoZVNlcnZpY2UuZ2V0KCdfeXpfcHJvamVjdF9pbmZvJywgeyBtb2RlOiAnbm9uZScgfSk7XG4gICAgcmV0dXJuIGZvcmtKb2luKG9mKHVzZXIpLCBvZihoZWFkZXIpLCBvZihwcm9qZWN0KSkucGlwZShcbiAgICAgIG1lcmdlTWFwKChbdSwgaCwgcF0pID0+IHtcbiAgICAgICAgbGV0IGxpc3QgPSBbXTtcbiAgICAgICAgLy8gdXNlciBjYWNoZVxuICAgICAgICBpZiAoIXUgfHwgIXRlbmFudCkge1xuICAgICAgICAgIGxvZygneXouYXV0aC5zZXJ2aWNlOiAnLCAnZmV0Y2ggdXNlciBjYWNoZScpO1xuICAgICAgICAgIGxpc3QucHVzaChcbiAgICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5nZXQoYC9hdXRoL3VzZXJgKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKHVzZXI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldCgnX3l6X3RlbmFudCcsIHVzZXIudGVuYW50SWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldCgnX3l6X3VzZXInLCB1c2VyLnByaW5jaXBhbCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2coJ3l6LmF1dGguc2VydmljZTogJywgJ3VzZXIgcmVjYWNoZScpO1xuICAgICAgICAgIGxpc3QucHVzaChvZjxhbnk+KCgpID0+IHt9KSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaGVhZGVyIGNhY2hlXG4gICAgICAgIGlmICghaCkge1xuICAgICAgICAgIGxvZygneXouYXV0aC5zZXJ2aWNlOiAnLCAnZmV0Y2ggaGVhZGVyIGNhY2hlJyk7XG4gICAgICAgICAgbGlzdC5wdXNoKFxuICAgICAgICAgICAgdGhpcy5odHRwQ2xpZW50LmdldChgL2F1dGgvYWxsaGVhZGVyL3YyYCkucGlwZShcbiAgICAgICAgICAgICAgbWFwKChoZWFkZXI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldCgnX3l6X2hlYWRlcicsIGhlYWRlci5kYXRhKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZygneXouYXV0aC5zZXJ2aWNlOiAnLCAnaGVhZGVyIHJlY2FjaGUnKTtcbiAgICAgICAgICBsaXN0LnB1c2gob2Y8YW55PigoKSA9PiB7fSkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHByb2plY3QgY2FjaGVcbiAgICAgICAgaWYgKCFwKSB7XG4gICAgICAgICAgbG9nKCd5ei5hdXRoLnNlcnZpY2U6ICcsICdmZXRjaCBwcm9qZWN0IGNhY2hlJyk7XG4gICAgICAgICAgbGlzdC5wdXNoKFxuICAgICAgICAgICAgdGhpcy5odHRwQ2xpZW50LmdldChgL2FwcC1tYW5hZ2VyL3Byb2plY3QvaW5mb2ApLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoaW5mbzogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0KCdfeXpfcHJvamVjdF9pbmZvJywgaW5mby5kYXRhKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZygneXouYXV0aC5zZXJ2aWNlOiAnLCAncHJvamVjdCByZWNhY2hlJyk7XG4gICAgICAgICAgbGlzdC5wdXNoKG9mPGFueT4oKCkgPT4ge30pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm9ya0pvaW4obGlzdCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IHsgWXVuemFpQXV0aFNlcnZpY2UgYXMgWXpBdXRoU2VydmljZSwgWXVuemFpQXV0aFNlcnZpY2UgfTtcbiJdfQ==
@@ -1,76 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { HttpClientModule } from '@angular/common/http';
3
- import { NgModule } from '@angular/core';
4
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
- import { RouterModule } from '@angular/router';
6
- import { YunzaiSharedYelonModule, YunzaiSharedZorroModule } from '@yelon/bcs';
7
- import { YUNZAI_THEME_BTN_KEYS } from '@yelon/theme/theme-btn';
8
- import { YzLayoutBasicComponent } from './layout-basic/layout-basic.component';
9
- import { LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent } from './layout-nav';
10
- import { YunzaiClearStorageComponent, YunzaiFullScreenComponent, YunzaiI18NComponent, YunzaiNotifyComponent, YunzaiThemBtnComponent, YunzaiUserComponent } from './widgets';
11
- import * as i0 from "@angular/core";
12
- const WIDGETS = [
13
- YunzaiClearStorageComponent,
14
- YunzaiFullScreenComponent,
15
- YunzaiI18NComponent,
16
- YunzaiNotifyComponent,
17
- YunzaiThemBtnComponent,
18
- YunzaiUserComponent
19
- ];
20
- const LAYOUT_NAV_COMPONENTS = [LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent];
21
- const COMPONENTS = [YzLayoutBasicComponent];
22
- export class YunzaiLayoutModule {
23
- }
24
- YunzaiLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: YunzaiLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
- YunzaiLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: YunzaiLayoutModule, declarations: [YzLayoutBasicComponent, YunzaiClearStorageComponent,
26
- YunzaiFullScreenComponent,
27
- YunzaiI18NComponent,
28
- YunzaiNotifyComponent,
29
- YunzaiThemBtnComponent,
30
- YunzaiUserComponent, LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent], imports: [HttpClientModule,
31
- CommonModule,
32
- FormsModule,
33
- RouterModule,
34
- ReactiveFormsModule,
35
- YunzaiSharedYelonModule,
36
- YunzaiSharedZorroModule], exports: [YzLayoutBasicComponent, YunzaiClearStorageComponent,
37
- YunzaiFullScreenComponent,
38
- YunzaiI18NComponent,
39
- YunzaiNotifyComponent,
40
- YunzaiThemBtnComponent,
41
- YunzaiUserComponent, LayoutNavApplicationComponent, LayoutNavGroupComponent, LayoutNavTileComponent] });
42
- YunzaiLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: YunzaiLayoutModule, providers: [
43
- {
44
- provide: YUNZAI_THEME_BTN_KEYS,
45
- useValue: 'site-theme'
46
- }
47
- ], imports: [HttpClientModule,
48
- CommonModule,
49
- FormsModule,
50
- RouterModule,
51
- ReactiveFormsModule,
52
- YunzaiSharedYelonModule,
53
- YunzaiSharedZorroModule] });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: YunzaiLayoutModule, decorators: [{
55
- type: NgModule,
56
- args: [{
57
- imports: [
58
- HttpClientModule,
59
- CommonModule,
60
- FormsModule,
61
- RouterModule,
62
- ReactiveFormsModule,
63
- YunzaiSharedYelonModule,
64
- YunzaiSharedZorroModule
65
- ],
66
- providers: [
67
- {
68
- provide: YUNZAI_THEME_BTN_KEYS,
69
- useValue: 'site-theme'
70
- }
71
- ],
72
- declarations: [...COMPONENTS, ...WIDGETS, ...LAYOUT_NAV_COMPONENTS],
73
- exports: [...COMPONENTS, ...WIDGETS, ...LAYOUT_NAV_COMPONENTS]
74
- }]
75
- }] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWxheW91dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iaXMvbGF5b3V0L3l1bnphaS1sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDcEIsTUFBTSxXQUFXLENBQUM7O0FBRW5CLE1BQU0sT0FBTyxHQUFHO0lBQ2QsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixtQkFBbUI7Q0FDcEIsQ0FBQztBQUVGLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBRS9HLE1BQU0sVUFBVSxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQXFCNUMsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQXJCWCxzQkFBc0IsRUFWeEMsMkJBQTJCO1FBQzNCLHlCQUF5QjtRQUN6QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QixtQkFBbUIsRUFHVSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsYUFNekcsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsdUJBQXVCLGFBVlAsc0JBQXNCLEVBVnhDLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIsbUJBQW1CLEVBR1UsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCO2dIQXVCaEcsa0JBQWtCLGFBVGxCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsRUFBRSxZQUFZO1NBQ3ZCO0tBQ0YsWUFiQyxnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2Qix1QkFBdUI7MkZBV2Qsa0JBQWtCO2tCQW5COUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3FCQUN4QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSxFQUFFLFlBQVk7eUJBQ3ZCO3FCQUNGO29CQUNELFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcscUJBQXFCLENBQUM7b0JBQ25FLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcscUJBQXFCLENBQUM7aUJBQy9EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBZdW56YWlTaGFyZWRZZWxvbk1vZHVsZSwgWXVuemFpU2hhcmVkWm9ycm9Nb2R1bGUgfSBmcm9tICdAeWVsb24vYmNzJztcbmltcG9ydCB7IFlVTlpBSV9USEVNRV9CVE5fS0VZUyB9IGZyb20gJ0B5ZWxvbi90aGVtZS90aGVtZS1idG4nO1xuXG5pbXBvcnQgeyBZekxheW91dEJhc2ljQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQtYmFzaWMvbGF5b3V0LWJhc2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXlvdXROYXZBcHBsaWNhdGlvbkNvbXBvbmVudCwgTGF5b3V0TmF2R3JvdXBDb21wb25lbnQsIExheW91dE5hdlRpbGVDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1uYXYnO1xuaW1wb3J0IHtcbiAgWXVuemFpQ2xlYXJTdG9yYWdlQ29tcG9uZW50LFxuICBZdW56YWlGdWxsU2NyZWVuQ29tcG9uZW50LFxuICBZdW56YWlJMThOQ29tcG9uZW50LFxuICBZdW56YWlOb3RpZnlDb21wb25lbnQsXG4gIFl1bnphaVRoZW1CdG5Db21wb25lbnQsXG4gIFl1bnphaVVzZXJDb21wb25lbnRcbn0gZnJvbSAnLi93aWRnZXRzJztcblxuY29uc3QgV0lER0VUUyA9IFtcbiAgWXVuemFpQ2xlYXJTdG9yYWdlQ29tcG9uZW50LFxuICBZdW56YWlGdWxsU2NyZWVuQ29tcG9uZW50LFxuICBZdW56YWlJMThOQ29tcG9uZW50LFxuICBZdW56YWlOb3RpZnlDb21wb25lbnQsXG4gIFl1bnphaVRoZW1CdG5Db21wb25lbnQsXG4gIFl1bnphaVVzZXJDb21wb25lbnRcbl07XG5cbmNvbnN0IExBWU9VVF9OQVZfQ09NUE9ORU5UUyA9IFtMYXlvdXROYXZBcHBsaWNhdGlvbkNvbXBvbmVudCwgTGF5b3V0TmF2R3JvdXBDb21wb25lbnQsIExheW91dE5hdlRpbGVDb21wb25lbnRdO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1l6TGF5b3V0QmFzaWNDb21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgWXVuemFpU2hhcmVkWWVsb25Nb2R1bGUsXG4gICAgWXVuemFpU2hhcmVkWm9ycm9Nb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogWVVOWkFJX1RIRU1FX0JUTl9LRVlTLFxuICAgICAgdXNlVmFsdWU6ICdzaXRlLXRoZW1lJ1xuICAgIH1cbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UUywgLi4uV0lER0VUUywgLi4uTEFZT1VUX05BVl9DT01QT05FTlRTXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFMsIC4uLldJREdFVFMsIC4uLkxBWU9VVF9OQVZfQ09NUE9ORU5UU11cbn0pXG5leHBvcnQgY2xhc3MgWXVuemFpTGF5b3V0TW9kdWxlIHt9XG4iXX0=