atr-components 0.2.417 → 2.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.
Files changed (136) hide show
  1. package/atr-components.module.d.ts +9 -9
  2. package/atr-public-api.d.ts +53 -53
  3. package/core/animations/animations.d.ts +1 -1
  4. package/core/animations/fly-in.d.ts +1 -1
  5. package/core/animations/scroll-screen.d.ts +1 -1
  6. package/core/auth/auth.guard.d.ts +11 -11
  7. package/core/base/atr-common.d.ts +347 -347
  8. package/core/directive/error-img.directive.d.ts +10 -10
  9. package/core/directive/hq-spin.directive.d.ts +13 -13
  10. package/core/directive/role.directive.d.ts +16 -16
  11. package/core/interceptor/base.interceptor.d.ts +17 -17
  12. package/core/ngz-module/cus-zorro-antd.module.d.ts +75 -75
  13. package/core/pipe/china-num.pipe.d.ts +7 -7
  14. package/core/pipe/count.pipe.d.ts +7 -7
  15. package/core/pipe/day.pipe.d.ts +8 -8
  16. package/core/pipe/defaultVal.pipe.d.ts +7 -7
  17. package/core/pipe/dicts.pipe.d.ts +10 -10
  18. package/core/pipe/image-pipe.pipe.d.ts +8 -8
  19. package/core/pipe/is-empty.pipe.d.ts +7 -7
  20. package/core/pipe/is-not-empty.pipe.d.ts +7 -7
  21. package/core/pipe/oss.pipe.d.ts +7 -7
  22. package/core/pipe/ossStatic.pipe.d.ts +7 -7
  23. package/core/pipe/pipe-module.module.d.ts +21 -21
  24. package/core/pipe/remove-html.pipe.d.ts +10 -10
  25. package/core/pipe/safe-compute.pipe.d.ts +7 -7
  26. package/core/pipe/safe-html.pipe.d.ts +10 -10
  27. package/core/pipe/safe-url.pipe.d.ts +10 -10
  28. package/core/routereuse/atr-reuse-strategy.d.ts +19 -19
  29. package/core/services/dict/dict.service.d.ts +20 -20
  30. package/core/services/http.service.d.ts +31 -31
  31. package/core/services/menu.service.d.ts +29 -29
  32. package/core/services/upload-oss.service.d.ts +14 -14
  33. package/core/utils/ToolsUtil.d.ts +180 -180
  34. package/core/utils/localstorage.util.d.ts +15 -15
  35. package/core/utils/sessionstorage.util.d.ts +15 -15
  36. package/{esm2020 → esm2022}/atr-components.mjs +4 -4
  37. package/esm2022/atr-components.module.mjs +36 -0
  38. package/{esm2020 → esm2022}/atr-public-api.mjs +54 -54
  39. package/{esm2020 → esm2022}/core/animations/animations.mjs +9 -9
  40. package/{esm2020 → esm2022}/core/animations/fly-in.mjs +18 -18
  41. package/{esm2020 → esm2022}/core/animations/scroll-screen.mjs +22 -22
  42. package/{esm2020 → esm2022}/core/auth/auth.guard.mjs +37 -37
  43. package/esm2022/core/base/atr-common.mjs +47 -0
  44. package/{esm2020 → esm2022}/core/directive/error-img.directive.mjs +31 -31
  45. package/{esm2020 → esm2022}/core/directive/hq-spin.directive.mjs +48 -48
  46. package/esm2022/core/directive/role.directive.mjs +69 -0
  47. package/{esm2020 → esm2022}/core/interceptor/base.interceptor.mjs +165 -165
  48. package/{esm2020 → esm2022}/core/ngz-module/cus-zorro-antd.module.mjs +292 -292
  49. package/{esm2020 → esm2022}/core/pipe/china-num.pipe.mjs +36 -36
  50. package/{esm2020 → esm2022}/core/pipe/count.pipe.mjs +34 -34
  51. package/{esm2020 → esm2022}/core/pipe/day.pipe.mjs +24 -24
  52. package/{esm2020 → esm2022}/core/pipe/defaultVal.pipe.mjs +23 -23
  53. package/{esm2020 → esm2022}/core/pipe/dicts.pipe.mjs +28 -28
  54. package/{esm2020 → esm2022}/core/pipe/image-pipe.pipe.mjs +17 -17
  55. package/{esm2020 → esm2022}/core/pipe/is-empty.pipe.mjs +20 -20
  56. package/{esm2020 → esm2022}/core/pipe/is-not-empty.pipe.mjs +17 -17
  57. package/{esm2020 → esm2022}/core/pipe/oss.pipe.mjs +17 -17
  58. package/{esm2020 → esm2022}/core/pipe/ossStatic.pipe.mjs +17 -17
  59. package/esm2022/core/pipe/pipe-module.module.mjs +38 -0
  60. package/{esm2020 → esm2022}/core/pipe/remove-html.pipe.mjs +21 -21
  61. package/{esm2020 → esm2022}/core/pipe/safe-compute.pipe.mjs +23 -23
  62. package/{esm2020 → esm2022}/core/pipe/safe-html.pipe.mjs +20 -20
  63. package/{esm2020 → esm2022}/core/pipe/safe-url.pipe.mjs +20 -20
  64. package/esm2022/core/routereuse/atr-reuse-strategy.mjs +79 -0
  65. package/esm2022/core/services/dict/dict.service.mjs +152 -0
  66. package/{esm2020 → esm2022}/core/services/http.service.mjs +306 -306
  67. package/{esm2020 → esm2022}/core/services/menu.service.mjs +130 -130
  68. package/{esm2020 → esm2022}/core/services/upload-oss.service.mjs +74 -74
  69. package/esm2022/core/utils/ToolsUtil.mjs +622 -0
  70. package/{esm2020 → esm2022}/core/utils/localstorage.util.mjs +94 -94
  71. package/{esm2020 → esm2022}/core/utils/sessionstorage.util.mjs +72 -72
  72. package/{esm2020 → esm2022}/lib/hello/hello.component.mjs +15 -15
  73. package/esm2022/lib/hello/hello.module.mjs +20 -0
  74. package/esm2022/lib/shared/atr-shared.module.mjs +204 -0
  75. package/esm2022/lib/shared/echarts/echarts.component.mjs +77 -0
  76. package/esm2022/lib/shared/form/form.component.mjs +574 -0
  77. package/esm2022/lib/shared/img-canvas/img-canvas.component.mjs +132 -0
  78. package/esm2022/lib/shared/local-upload/local-upload.component.mjs +68 -0
  79. package/esm2022/lib/shared/quill-editor/quill-editor.component.mjs +248 -0
  80. package/esm2022/lib/shared/select-icons/select-icons.component.mjs +90 -0
  81. package/{esm2020 → esm2022}/lib/shared/select-tree/select-tree.component.mjs +55 -55
  82. package/{esm2020 → esm2022}/lib/shared/service/busi.service.mjs +69 -69
  83. package/{esm2020 → esm2022}/lib/shared/share.service.mjs +107 -107
  84. package/esm2022/lib/shared/table/table-form-item/table-form-item.component.mjs +96 -0
  85. package/esm2022/lib/shared/table/table-td/table-td.component.mjs +165 -0
  86. package/esm2022/lib/shared/table/table.component.mjs +749 -0
  87. package/{esm2020 → esm2022}/lib/shared/upload/upload.component.mjs +274 -274
  88. package/{esm2020 → esm2022}/lib/shared/validators/atr-validtors.mjs +8 -8
  89. package/esm2022/lib/shared/video/video.component.mjs +16 -0
  90. package/esm2022/lib/shared/view-form/view-form.component.mjs +181 -0
  91. package/{fesm2020 → fesm2022}/atr-components.mjs +5311 -5312
  92. package/fesm2022/atr-components.mjs.map +1 -0
  93. package/{atr-components.d.ts → index.d.ts} +5 -5
  94. package/lib/hello/hello.component.d.ts +8 -8
  95. package/lib/hello/hello.module.d.ts +8 -8
  96. package/lib/shared/atr-shared.module.d.ts +36 -33
  97. package/lib/shared/echarts/echarts.component.d.ts +34 -34
  98. package/lib/shared/form/form.component.d.ts +45 -45
  99. package/lib/shared/img-canvas/img-canvas.component.d.ts +28 -28
  100. package/lib/shared/local-upload/local-upload.component.d.ts +22 -22
  101. package/lib/shared/quill-editor/quill-editor.component.d.ts +45 -45
  102. package/lib/shared/select-icons/select-icons.component.d.ts +24 -24
  103. package/lib/shared/select-tree/select-tree.component.d.ts +23 -23
  104. package/lib/shared/service/busi.service.d.ts +20 -20
  105. package/lib/shared/share.service.d.ts +14 -14
  106. package/lib/shared/table/table-form-item/table-form-item.component.d.ts +25 -25
  107. package/lib/shared/table/table-td/table-td.component.d.ts +26 -26
  108. package/lib/shared/table/table.component.d.ts +94 -94
  109. package/lib/shared/upload/upload.component.d.ts +53 -53
  110. package/lib/shared/validators/atr-validtors.d.ts +2 -2
  111. package/lib/shared/video/video.component.d.ts +7 -7
  112. package/lib/shared/view-form/view-form.component.d.ts +28 -28
  113. package/package.json +14 -22
  114. package/esm2020/atr-components.module.mjs +0 -38
  115. package/esm2020/core/base/atr-common.mjs +0 -47
  116. package/esm2020/core/directive/role.directive.mjs +0 -69
  117. package/esm2020/core/pipe/pipe-module.module.mjs +0 -40
  118. package/esm2020/core/routereuse/atr-reuse-strategy.mjs +0 -79
  119. package/esm2020/core/services/dict/dict.service.mjs +0 -152
  120. package/esm2020/core/utils/ToolsUtil.mjs +0 -622
  121. package/esm2020/lib/hello/hello.module.mjs +0 -22
  122. package/esm2020/lib/shared/atr-shared.module.mjs +0 -199
  123. package/esm2020/lib/shared/echarts/echarts.component.mjs +0 -77
  124. package/esm2020/lib/shared/form/form.component.mjs +0 -574
  125. package/esm2020/lib/shared/img-canvas/img-canvas.component.mjs +0 -132
  126. package/esm2020/lib/shared/local-upload/local-upload.component.mjs +0 -68
  127. package/esm2020/lib/shared/quill-editor/quill-editor.component.mjs +0 -248
  128. package/esm2020/lib/shared/select-icons/select-icons.component.mjs +0 -90
  129. package/esm2020/lib/shared/table/table-form-item/table-form-item.component.mjs +0 -96
  130. package/esm2020/lib/shared/table/table-td/table-td.component.mjs +0 -165
  131. package/esm2020/lib/shared/table/table.component.mjs +0 -749
  132. package/esm2020/lib/shared/video/video.component.mjs +0 -15
  133. package/esm2020/lib/shared/view-form/view-form.component.mjs +0 -181
  134. package/fesm2015/atr-components.mjs +0 -5522
  135. package/fesm2015/atr-components.mjs.map +0 -1
  136. package/fesm2020/atr-components.mjs.map +0 -1
@@ -1,48 +1,48 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class HqSpinDirective {
4
- constructor(el, render) {
5
- this.el = el;
6
- this.render = render;
7
- this.spinLoading = false;
8
- this.text = null;
9
- this.render.addClass(this.el.nativeElement, 'hq-spin-container');
10
- this.loadingEle = this.render.createElement('div');
11
- let dom1 = document.createElement('div');
12
- this.loadingEle.append(dom1);
13
- this.render.addClass(dom1, 'loader-03');
14
- // this.render.addClass(this.loadingEle, 'loader-04');
15
- }
16
- ngOnChanges(changes) {
17
- const { spinLoading, text } = changes;
18
- if (text && text.currentValue) {
19
- let dom = document.createElement('div');
20
- dom.innerText = text.currentValue;
21
- this.loadingEle.append(dom);
22
- this.render.addClass(dom, 'loader-04');
23
- }
24
- if (spinLoading) {
25
- if (spinLoading.currentValue) {
26
- this.render.addClass(this.el.nativeElement, 'hq-spin-blur');
27
- this.render.appendChild(this.el.nativeElement, this.loadingEle);
28
- }
29
- else {
30
- this.render.removeClass(this.el.nativeElement, 'hq-spin-blur');
31
- this.render.removeChild(this.el.nativeElement, this.loadingEle);
32
- }
33
- }
34
- }
35
- }
36
- HqSpinDirectivefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HqSpinDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
37
- HqSpinDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: HqSpinDirective, selector: "[HqSpin]", inputs: { spinLoading: "spinLoading", text: "text" }, usesOnChanges: true, ngImport: i0 });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HqSpinDirective, decorators: [{
39
- type: Directive,
40
- args: [{
41
- selector: '[HqSpin]'
42
- }]
43
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { spinLoading: [{
44
- type: Input
45
- }], text: [{
46
- type: Input
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHEtc3Bpbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb3JlL2RpcmVjdGl2ZS9ocS1zcGluLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBa0QsTUFBTSxlQUFlLENBQUM7O0FBS2hHLE1BQU0sT0FBTyxlQUFlO0lBTzFCLFlBQW9CLEVBQWMsRUFBVSxNQUFpQjtRQUF6QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUxwRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBTW5CLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRCxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4QyxzREFBc0Q7SUFDeEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsV0FBVyxFQUFDLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNyQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzdCLElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsR0FBRyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFBO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksV0FBVyxFQUFFO1lBRWYsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFO2dCQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2pFO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDakU7U0FDRjtJQUNILENBQUM7OzZHQXBDVSxlQUFlO2lHQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtpQkFDckI7eUhBR1UsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW0hxU3Bpbl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIcVNwaW5EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBzcGluTG9hZGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRleHQgPSBudWxsO1xyXG5cclxuICBsb2FkaW5nRWxlOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyOiBSZW5kZXJlcjIpIHtcclxuXHJcbiAgICB0aGlzLnJlbmRlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdocS1zcGluLWNvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5sb2FkaW5nRWxlID0gdGhpcy5yZW5kZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcblxyXG4gICAgbGV0IGRvbTEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMubG9hZGluZ0VsZS5hcHBlbmQoZG9tMSlcclxuICAgIHRoaXMucmVuZGVyLmFkZENsYXNzKGRvbTEsICdsb2FkZXItMDMnKTtcclxuICAgIC8vIHRoaXMucmVuZGVyLmFkZENsYXNzKHRoaXMubG9hZGluZ0VsZSwgJ2xvYWRlci0wNCcpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBzcGluTG9hZGluZyx0ZXh0IH0gPSBjaGFuZ2VzO1xyXG4gICAgaWYgKHRleHQgJiYgdGV4dC5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgbGV0IGRvbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBkb20uaW5uZXJUZXh0ID0gdGV4dC5jdXJyZW50VmFsdWVcclxuICAgICAgdGhpcy5sb2FkaW5nRWxlLmFwcGVuZChkb20pXHJcbiAgICAgIHRoaXMucmVuZGVyLmFkZENsYXNzKGRvbSwgJ2xvYWRlci0wNCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNwaW5Mb2FkaW5nKSB7XHJcblxyXG4gICAgICBpZiAoc3BpbkxvYWRpbmcuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnaHEtc3Bpbi1ibHVyJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXIuYXBwZW5kQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmxvYWRpbmdFbGUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucmVuZGVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hxLXNwaW4tYmx1cicpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyLnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5sb2FkaW5nRWxlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class HqSpinDirective {
4
+ constructor(el, render) {
5
+ this.el = el;
6
+ this.render = render;
7
+ this.spinLoading = false;
8
+ this.text = null;
9
+ this.render.addClass(this.el.nativeElement, 'hq-spin-container');
10
+ this.loadingEle = this.render.createElement('div');
11
+ let dom1 = document.createElement('div');
12
+ this.loadingEle.append(dom1);
13
+ this.render.addClass(dom1, 'loader-03');
14
+ // this.render.addClass(this.loadingEle, 'loader-04');
15
+ }
16
+ ngOnChanges(changes) {
17
+ const { spinLoading, text } = changes;
18
+ if (text && text.currentValue) {
19
+ let dom = document.createElement('div');
20
+ dom.innerText = text.currentValue;
21
+ this.loadingEle.append(dom);
22
+ this.render.addClass(dom, 'loader-04');
23
+ }
24
+ if (spinLoading) {
25
+ if (spinLoading.currentValue) {
26
+ this.render.addClass(this.el.nativeElement, 'hq-spin-blur');
27
+ this.render.appendChild(this.el.nativeElement, this.loadingEle);
28
+ }
29
+ else {
30
+ this.render.removeClass(this.el.nativeElement, 'hq-spin-blur');
31
+ this.render.removeChild(this.el.nativeElement, this.loadingEle);
32
+ }
33
+ }
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HqSpinDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
36
+ static { thisdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: HqSpinDirective, selector: "[HqSpin]", inputs: { spinLoading: "spinLoading", text: "text" }, usesOnChanges: true, ngImport: i0 }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HqSpinDirective, decorators: [{
39
+ type: Directive,
40
+ args: [{
41
+ selector: '[HqSpin]'
42
+ }]
43
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { spinLoading: [{
44
+ type: Input
45
+ }], text: [{
46
+ type: Input
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHEtc3Bpbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb3JlL2RpcmVjdGl2ZS9ocS1zcGluLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBa0QsTUFBTSxlQUFlLENBQUM7O0FBS2hHLE1BQU0sT0FBTyxlQUFlO0lBTzFCLFlBQW9CLEVBQWMsRUFBVSxNQUFpQjtRQUF6QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUxwRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBTW5CLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRCxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4QyxzREFBc0Q7SUFDeEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsV0FBVyxFQUFDLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNyQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzdCLElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsR0FBRyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFBO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksV0FBVyxFQUFFO1lBRWYsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFO2dCQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2pFO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDakU7U0FDRjtJQUNILENBQUM7OEdBcENVLGVBQWU7a0dBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtpQkFDckI7dUdBR1UsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW0hxU3Bpbl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIcVNwaW5EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBzcGluTG9hZGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRleHQgPSBudWxsO1xyXG5cclxuICBsb2FkaW5nRWxlOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyOiBSZW5kZXJlcjIpIHtcclxuXHJcbiAgICB0aGlzLnJlbmRlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdocS1zcGluLWNvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5sb2FkaW5nRWxlID0gdGhpcy5yZW5kZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcblxyXG4gICAgbGV0IGRvbTEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMubG9hZGluZ0VsZS5hcHBlbmQoZG9tMSlcclxuICAgIHRoaXMucmVuZGVyLmFkZENsYXNzKGRvbTEsICdsb2FkZXItMDMnKTtcclxuICAgIC8vIHRoaXMucmVuZGVyLmFkZENsYXNzKHRoaXMubG9hZGluZ0VsZSwgJ2xvYWRlci0wNCcpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBzcGluTG9hZGluZyx0ZXh0IH0gPSBjaGFuZ2VzO1xyXG4gICAgaWYgKHRleHQgJiYgdGV4dC5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgbGV0IGRvbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBkb20uaW5uZXJUZXh0ID0gdGV4dC5jdXJyZW50VmFsdWVcclxuICAgICAgdGhpcy5sb2FkaW5nRWxlLmFwcGVuZChkb20pXHJcbiAgICAgIHRoaXMucmVuZGVyLmFkZENsYXNzKGRvbSwgJ2xvYWRlci0wNCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNwaW5Mb2FkaW5nKSB7XHJcblxyXG4gICAgICBpZiAoc3BpbkxvYWRpbmcuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnaHEtc3Bpbi1ibHVyJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXIuYXBwZW5kQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmxvYWRpbmdFbGUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucmVuZGVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hxLXNwaW4tYmx1cicpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyLnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5sb2FkaW5nRWxlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,69 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { MenuService } from "../services/menu.service";
4
+ import { ToolsUtil } from "../utils/ToolsUtil";
5
+ import * as i0 from "@angular/core";
6
+ export class AtrRoleDirective {
7
+ set atrRole(condition) {
8
+ if (ToolsUtil.isNull(condition)) {
9
+ this.viewContainer.createEmbeddedView(this.templateRef);
10
+ this.hasView = true;
11
+ return;
12
+ }
13
+ if (condition == "any") {
14
+ this.viewContainer.createEmbeddedView(this.templateRef);
15
+ this.hasView = true;
16
+ return;
17
+ }
18
+ let curPath = this.getRouterUrl();
19
+ this.menuService.getCurMenu(curPath).subscribe(result => {
20
+ let curMenu = result;
21
+ let isExited = false;
22
+ if (curMenu && curMenu != null && curMenu.operation) {
23
+ let operations = curMenu.operation.split(",");
24
+ for (let operation of operations) {
25
+ if (operation == condition) {
26
+ isExited = true;
27
+ break;
28
+ }
29
+ }
30
+ }
31
+ if (isExited && !this.hasView) {
32
+ this.viewContainer.createEmbeddedView(this.templateRef);
33
+ this.hasView = true;
34
+ }
35
+ else if (!condition && this.hasView) {
36
+ this.viewContainer.clear();
37
+ this.hasView = false;
38
+ }
39
+ }, error => {
40
+ });
41
+ }
42
+ constructor(injector, render, templateRef, viewContainer) {
43
+ this.injector = injector;
44
+ this.render = render;
45
+ this.templateRef = templateRef;
46
+ this.viewContainer = viewContainer;
47
+ this.hasView = false;
48
+ }
49
+ ngOnInit() {
50
+ }
51
+ get menuService() {
52
+ return this.injector.get(MenuService);
53
+ }
54
+ getRouterUrl() {
55
+ return this.injector.get(Router).url;
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AtrRoleDirective, deps: [{ token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
58
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: AtrRoleDirective, selector: "[atrRole]", inputs: { atrRole: "atrRole" }, ngImport: i0 }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AtrRoleDirective, decorators: [{
61
+ type: Directive,
62
+ args: [{
63
+ selector: '[atrRole]'
64
+ }]
65
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { atrRole: [{
66
+ type: Input,
67
+ args: ['atrRole']
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb3JlL2RpcmVjdGl2ZS9yb2xlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBNkQsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7O0FBSzdDLE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsSUFDSSxPQUFPLENBQUMsU0FBaUI7UUFDM0IsSUFBRyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFDO1lBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE9BQU07U0FDUDtRQUVELElBQUcsU0FBUyxJQUFJLEtBQUssRUFBQztZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixPQUFPO1NBQ1I7UUFDRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUM1QyxNQUFNLENBQUMsRUFBRTtZQUNQLElBQUksT0FBTyxHQUFTLE1BQU0sQ0FBQztZQUMzQixJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBRyxPQUFPLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFDO2dCQUNqRCxJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDOUMsS0FBSSxJQUFJLFNBQVMsSUFBSSxVQUFVLEVBQUM7b0JBQzVCLElBQUcsU0FBUyxJQUFJLFNBQVMsRUFBQzt3QkFDeEIsUUFBUSxHQUFHLElBQUksQ0FBQzt3QkFDaEIsTUFBTTtxQkFDUDtpQkFDSjthQUNGO1lBQ0QsSUFBRyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFDO2dCQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7YUFDckI7aUJBQUssSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFDO2dCQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzthQUN0QjtRQUNILENBQUMsRUFBQyxLQUFLLENBQUMsRUFBRTtRQUVWLENBQUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELFlBQW9CLFFBQWtCLEVBQVMsTUFBaUIsRUFBVSxXQUE2QixFQUM3RixhQUErQjtRQURyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3RixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUEzQ2pDLFlBQU8sR0FBRyxLQUFLLENBQUM7SUE2Q3hCLENBQUM7SUFDRCxRQUFRO0lBQ1IsQ0FBQztJQUNELElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZDLENBQUM7OEdBeERVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO2lCQUN0Qjs4SkFNSyxPQUFPO3NCQURWLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIEluamVjdG9yICxPbkluaXQsIFJlbmRlcmVyMiwgVmlld0NvbnRhaW5lclJlZiwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQge01lbnVTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvbWVudS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7TWVudX0gZnJvbSBcIi4uL2Jhc2UvYXRyLWNvbW1vblwiO1xyXG5pbXBvcnQge1Rvb2xzVXRpbH0gZnJvbSBcIi4uL3V0aWxzL1Rvb2xzVXRpbFwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXRyUm9sZV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdHJSb2xlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0e1xyXG5cclxuICBwcml2YXRlIGhhc1ZpZXcgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCdhdHJSb2xlJylcclxuICBzZXQgYXRyUm9sZShjb25kaXRpb246IHN0cmluZykge1xyXG4gICAgaWYoVG9vbHNVdGlsLmlzTnVsbChjb25kaXRpb24pKXtcclxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgICAgdGhpcy5oYXNWaWV3ID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgaWYoY29uZGl0aW9uID09IFwiYW55XCIpe1xyXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgICB0aGlzLmhhc1ZpZXcgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgY3VyUGF0aCA9IHRoaXMuZ2V0Um91dGVyVXJsKCk7XHJcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLmdldEN1ck1lbnUoY3VyUGF0aCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXN1bHQgPT4ge1xyXG4gICAgICAgIGxldCBjdXJNZW51Ok1lbnUgPSAgcmVzdWx0O1xyXG4gICAgICAgIGxldCBpc0V4aXRlZCA9IGZhbHNlO1xyXG4gICAgICAgIGlmKGN1ck1lbnUgJiYgY3VyTWVudSAhPSBudWxsICYmIGN1ck1lbnUub3BlcmF0aW9uKXtcclxuICAgICAgICAgIGxldCBvcGVyYXRpb25zID0gY3VyTWVudS5vcGVyYXRpb24uc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgZm9yKGxldCBvcGVyYXRpb24gb2Ygb3BlcmF0aW9ucyl7XHJcbiAgICAgICAgICAgICAgaWYob3BlcmF0aW9uID09IGNvbmRpdGlvbil7XHJcbiAgICAgICAgICAgICAgICBpc0V4aXRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGlzRXhpdGVkICYmICF0aGlzLmhhc1ZpZXcpe1xyXG4gICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgICAgICAgIHRoaXMuaGFzVmlldyA9IHRydWU7XHJcbiAgICAgICAgfWVsc2UgaWYgKCFjb25kaXRpb24gJiYgdGhpcy5oYXNWaWV3KXtcclxuICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICAgICAgdGhpcy5oYXNWaWV3ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LGVycm9yID0+e1xyXG5cclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IscHJpdmF0ZSByZW5kZXIgOlJlbmRlcmVyMiAscHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge1xyXG5cclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0IG1lbnVTZXJ2aWNlKCk6IE1lbnVTZXJ2aWNle1xyXG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KE1lbnVTZXJ2aWNlKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSb3V0ZXJVcmwoKTpzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKS51cmw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,165 +1,165 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpErrorResponse, HttpResponseBase, HttpResponse } from '@angular/common/http';
3
- import { Observable, of, throwError } from 'rxjs';
4
- import { mergeMap, catchError } from 'rxjs/operators';
5
- import { Router } from '@angular/router';
6
- import { NzNotificationService } from 'ng-zorro-antd/notification';
7
- import { NzMessageService } from 'ng-zorro-antd/message';
8
- import { LocalStorageUtil } from "../utils/localstorage.util";
9
- import { AtrReuseStrategy } from "../routereuse/atr-reuse-strategy";
10
- import { MenuService } from "../services/menu.service";
11
- import { atr_static_datas } from "../base/atr-common";
12
- import * as i0 from "@angular/core";
13
- const CODEMESSAGE = {
14
- 200: '服务器成功返回请求的数据。',
15
- 201: '新建或修改数据成功。',
16
- 202: '一个请求已经进入后台排队(异步任务)。',
17
- 204: '删除数据成功。',
18
- 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',
19
- 401: '用户没有权限(令牌、用户名、密码错误)。',
20
- 403: '用户得到授权,但是访问是被禁止的。',
21
- 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',
22
- 406: '请求的格式不可得。',
23
- 410: '请求的资源被永久删除,且不会再得到的。',
24
- 422: '当创建一个对象时,发生一个验证错误。',
25
- 500: '服务器发生错误,请检查服务器。',
26
- 502: '网关错误。',
27
- 503: '服务不可用,服务器暂时过载或维护。',
28
- 504: '网关超时。',
29
- };
30
- export class BaseInterceptor {
31
- constructor(injector) {
32
- this.injector = injector;
33
- }
34
- get notification() {
35
- return this.injector.get(NzNotificationService);
36
- }
37
- get message() {
38
- return this.injector.get(NzMessageService);
39
- }
40
- get menuService() {
41
- return this.injector.get(MenuService);
42
- }
43
- goTo(url, isClearCache) {
44
- // console.log("需要跳转到页面:")
45
- // console.log(url);
46
- setTimeout(() => this.injector.get(Router).navigateByUrl(url));
47
- if (isClearCache) {
48
- setTimeout(() => AtrReuseStrategy.deleteAll(), 50);
49
- }
50
- }
51
- checkStatus(ev) {
52
- if ((ev.status >= 200 && ev.status < 300) || ev.status === 401) {
53
- return;
54
- }
55
- // console.log(ev.status);
56
- // const errortext = CODEMESSAGE[ev.status] || ev.statusText;
57
- this.message.error('网络错误,请稍后重试:' + ev.status);
58
- }
59
- handleData(ev, noTip = false) {
60
- this.checkStatus(ev);
61
- // 业务处理:一些通用操作
62
- switch (ev.status) {
63
- case 200:
64
- // TODO status
65
- // 业务层级错误处理,以下是假定restful有一套统一输出格式(指不管成功与否都有相应的数据格式)情况下进行处理
66
- // 例如响应内容:
67
- // 错误内容:{ status: 1, msg: '非法参数' }
68
- // 正确内容:{ status: 0, response: { } }
69
- // 则以下代码片断可直接适用
70
- if (ev instanceof HttpResponse) {
71
- const body = ev.body;
72
- if (body && body.status === 401) {
73
- if (!noTip) {
74
- this.notification.error(`未登录或登录已过期,请重新登录。`, ``, {
75
- nzKey: 'outTime'
76
- });
77
- }
78
- // TODO 清空 token 信息
79
- LocalStorageUtil.clearUs();
80
- this.menuService.clear();
81
- this.goTo('/p/login', true);
82
- }
83
- else if (body && body.status === 1024) {
84
- // 或者依然保持完整的格式
85
- if (!noTip) {
86
- this.message.error(body.message);
87
- }
88
- }
89
- else if (body && body.status === 1025) {
90
- // 或者依然保持完整的格式
91
- if (!noTip) {
92
- this.message.error(`参数为空。`);
93
- }
94
- }
95
- else if (body && body.status === 503) {
96
- // 或者依然保持完整的格式
97
- if (!noTip) {
98
- this.message.error(body.message);
99
- }
100
- }
101
- else if (body && body.status === 204) {
102
- // 或者依然保持完整的格式
103
- if (!noTip) {
104
- this.message.success(body.message);
105
- }
106
- }
107
- else if (body && body.status === 201) {
108
- // 或者依然保持完整的格式
109
- if (!noTip) {
110
- this.message.success(body.message);
111
- }
112
- }
113
- else {
114
- return of(ev);
115
- }
116
- }
117
- break;
118
- case 401:
119
- this.notification.error(`未登录或登录已过期,请重新登录。`, ``, {
120
- nzKey: 'outTime'
121
- });
122
- // TODO 清空 token 信息
123
- // this.goTo('/p/login',false);
124
- break;
125
- case 403:
126
- case 404:
127
- case 500:
128
- this.goTo(`/exception/${ev.status}`, false);
129
- break;
130
- default:
131
- if (ev instanceof HttpErrorResponse) {
132
- // console.warn('未可知错误,大部分是由于后端不支持CORS或无效配置引起', ev);
133
- return throwError(ev);
134
- }
135
- break;
136
- }
137
- return of(ev);
138
- }
139
- intercept(req, next) {
140
- if (!atr_static_datas.SERVER_URL) {
141
- alert('请配置ip atr_static_datas.SERVER_URL');
142
- return new Observable();
143
- }
144
- // 统一加上服务端前缀
145
- let url = req.url;
146
- if (!url.startsWith('https://') && !url.startsWith('http://')) {
147
- url = atr_static_datas.SERVER_URL + url;
148
- req = req.clone({ url });
149
- }
150
- let noTip = req.headers.get("noTip");
151
- return next.handle(req).pipe(mergeMap((event) => {
152
- // 允许统一对请求错误处理
153
- if (event instanceof HttpResponseBase)
154
- return this.handleData(event, noTip == "1");
155
- // 若一切都正常,则后续操作
156
- return of(event);
157
- }), catchError((err) => this.handleData(err, noTip == "1")));
158
- }
159
- }
160
- BaseInterceptorfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BaseInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
161
- BaseInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BaseInterceptor });
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BaseInterceptor, decorators: [{
163
- type: Injectable
164
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvaW50ZXJjZXB0b3IvYmFzZS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBd0QsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDNUosT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFHLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFcEQsTUFBTSxXQUFXLEdBQUc7SUFDaEIsR0FBRyxFQUFFLGVBQWU7SUFDcEIsR0FBRyxFQUFFLFlBQVk7SUFDakIsR0FBRyxFQUFFLHFCQUFxQjtJQUMxQixHQUFHLEVBQUUsU0FBUztJQUNkLEdBQUcsRUFBRSw2QkFBNkI7SUFDbEMsR0FBRyxFQUFFLHNCQUFzQjtJQUMzQixHQUFHLEVBQUUsbUJBQW1CO0lBQ3hCLEdBQUcsRUFBRSw0QkFB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QUFDO1lBQ2xGLGVBQWU7WUFDZixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FDMUUsQ0FBQztJQUNKLENBQUM7OzZHQTdITSxlQUFlO2lIQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBIYW5kbGVyLCBIdHRwRXZlbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUmVzcG9uc2VCYXNlLCBIdHRwUmVzcG9uc2UsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiAsdGhyb3dFcnJvciAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWVyZ2VNYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE56Tm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHtOek1lc3NhZ2VTZXJ2aWNlfSBmcm9tICduZy16b3Jyby1hbnRkL21lc3NhZ2UnO1xyXG5pbXBvcnQge0xvY2FsU3RvcmFnZVV0aWx9IGZyb20gXCIuLi91dGlscy9sb2NhbHN0b3JhZ2UudXRpbFwiO1xyXG5pbXBvcnQge2Vudmlyb25tZW50fSBmcm9tIFwibmctem9ycm8tYW50ZC9jb3JlL2Vudmlyb25tZW50c1wiO1xyXG5pbXBvcnQge0F0clJldXNlU3RyYXRlZ3l9IGZyb20gXCIuLi9yb3V0ZXJldXNlL2F0ci1yZXVzZS1zdHJhdGVneVwiO1xyXG5pbXBvcnQge01lbnVTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvbWVudS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7YXRyX3N0YXRpY19kYXRhc30gZnJvbSBcIi4uL2Jhc2UvYXRyLWNvbW1vblwiO1xyXG5cclxuY29uc3QgQ09ERU1FU1NBR0UgPSB7XHJcbiAgICAyMDA6ICfmnI3liqHlmajmiJDlip/ov5Tlm57or7fmsYLnmoTmlbDmja7jgIInLFxyXG4gICAgMjAxOiAn5paw5bu65oiW5L+u5pS55pWw5o2u5oiQ5Yqf44CCJyxcclxuICAgIDIwMjogJ+S4gOS4quivt+axguW3sue7j+i/m+WFpeWQjuWPsOaOkumYn++8iOW8guatpeS7u+WKoe+8ieOAgicsXHJcbiAgICAyMDQ6ICfliKDpmaTmlbDmja7miJDlip/jgIInLFxyXG4gICAgNDAwOiAn5Y+R5Ye655qE6K+35rGC5pyJ6ZSZ6K+v77yM5pyN5Yqh5Zmo5rKh5pyJ6L+b6KGM5paw5bu65oiW5L+u5pS55pWw5o2u55qE5pON5L2c44CCJyxcclxuICAgIDQwMTogJ+eUqOaIt+ayoeacieadg+mZkO+8iOS7pOeJjOOAgeeUqOaIt+WQjeOAgeWvhueggemUmeivr++8ieOAgicsXHJcbiAgICA0MDM6ICfnlKjmiLflvpfliLDmjojmnYPvvIzkvYbmmK/orr/pl67mmK/ooqvnpoHmraLnmoTjgIInLFxyXG4gICAgNDA0OiAn5Y+R5Ye655qE6K+35rGC6ZKI5a+555qE5piv5LiN5a2Y5Zyo55qE6K6w5b2V77yM5pyN5Yqh5Zmo5rKh5pyJ6L+b6KGM5pON5L2c44CCJyxcclxuICAgIDQwNjogJ+ivt+axgueahOagvOW8j+S4jeWPr+W+l+OAgicsXHJcbiAgICA0MTA6ICfor7fmsYLnmoTotYTmupDooqvmsLjkuYXliKDpmaTvvIzkuJTkuI3kvJrlho3lvpfliLDnmoTjgIInLFxyXG4gICAgNDIyOiAn5b2T5Yib5bu65LiA5Liq5a+56LGh5pe277yM5Y+R55Sf5LiA5Liq6aqM6K+B6ZSZ6K+v44CCJyxcclxuICAgIDUwMDogJ+acjeWKoeWZqOWPkeeUn+mUmeivr++8jOivt+ajgOafpeacjeWKoeWZqOOAgicsXHJcbiAgICA1MDI6ICfnvZHlhbPplJnor6/jgIInLFxyXG4gICAgNTAzOiAn5pyN5Yqh5LiN5Y+v55So77yM5pyN5Yqh5Zmo5pqC5pe26L+H6L295oiW57u05oqk44CCJyxcclxuICAgIDUwNDogJ+e9keWFs+i2heaXtuOAgicsXHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3J7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cclxuICAgIHByaXZhdGUgZ2V0IG5vdGlmaWNhdGlvbigpOiBOek5vdGlmaWNhdGlvblNlcnZpY2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChOek5vdGlmaWNhdGlvblNlcnZpY2UpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBnZXQgbWVzc2FnZSgpOiBOek1lc3NhZ2VTZXJ2aWNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoTnpNZXNzYWdlU2VydmljZSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGdldCBtZW51U2VydmljZSgpOiBNZW51U2VydmljZXtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoTWVudVNlcnZpY2UpXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnb1RvKHVybDogc3RyaW5nLGlzQ2xlYXJDYWNoZTpib29sZWFuKSB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwi6ZyA6KaB6Lez6L2s5Yiw6aG16Z2i77yaXCIpXHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKHVybCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKS5uYXZpZ2F0ZUJ5VXJsKHVybCkpO1xyXG4gICAgICBpZihpc0NsZWFyQ2FjaGUpe1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCk9PiAgQXRyUmV1c2VTdHJhdGVneS5kZWxldGVBbGwoKSw1MCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrU3RhdHVzKGV2OiBIdHRwUmVzcG9uc2VCYXNlKSB7XHJcbiAgICAgICAgaWYgKChldi5zdGF0dXMgPj0gMjAwICYmIGV2LnN0YXR1cyA8IDMwMCkgfHwgZXYuc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZXYuc3RhdHVzKTtcclxuICAgICAgICAvLyBjb25zdCBlcnJvcnRleHQgPSBDT0RFTUVTU0FHRVtldi5zdGF0dXNdIHx8IGV2LnN0YXR1c1RleHQ7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlLmVycm9yKCfnvZHnu5zplJnor68s6K+356iN5ZCO6YeN6K+V77yaJyArIGV2LnN0YXR1cyk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGhhbmRsZURhdGEoZXY6IEh0dHBSZXNwb25zZUJhc2Usbm9UaXAgPSBmYWxzZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgdGhpcy5jaGVja1N0YXR1cyhldik7XHJcbiAgICAgICAgLy8g5Lia5Yqh5aSE55CG77ya5LiA5Lqb6YCa55So5pON5L2cXHJcbiAgICAgICAgc3dpdGNoIChldi5zdGF0dXMpIHtcclxuICAgICAgICAgIGNhc2UgMjAwOlxyXG4gICAgICAgICAgICAvLyBUT0RPIHN0YXR1c1xyXG4gICAgICAgICAgICAvLyDkuJrliqHlsYLnuqfplJnor6/lpITnkIbvvIzku6XkuIvmmK/lgYflrppyZXN0ZnVs5pyJ5LiA5aWX57uf5LiA6L6T5Ye65qC85byP77yI5oyH5LiN566h5oiQ5Yqf5LiO5ZCm6YO95pyJ55u45bqU55qE5pWw5o2u5qC85byP77yJ5oOF5Ya15LiL6L+b6KGM5aSE55CGXHJcbiAgICAgICAgICAgIC8vIOS+i+WmguWTjeW6lOWGheWuue+8mlxyXG4gICAgICAgICAgICAvLyAg6ZSZ6K+v5YaF5a6577yaeyBzdGF0dXM6IDEsIG1zZzogJ+mdnuazleWPguaVsCcgfVxyXG4gICAgICAgICAgICAvLyAg5q2j56Gu5YaF5a6577yaeyBzdGF0dXM6IDAsIHJlc3BvbnNlOiB7ICB9IH1cclxuICAgICAgICAgICAgLy8g5YiZ5Lul5LiL5Luj56CB54mH5pat5Y+v55u05o6l6YCC55SoXHJcbiAgICAgICAgICAgIGlmIChldiBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm9keTogYW55ID0gZXYuYm9keTtcclxuICAgICAgICAgICAgICAgIGlmIChib2R5ICYmIGJvZHkuc3RhdHVzID09PSA0MDEgKSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IoYOacqueZu+W9leaIlueZu+W9leW3sui/h+acn++8jOivt+mHjeaWsOeZu+W9leOAgmAsIGBgLHtcclxuICAgICAgICAgICAgICAgICAgICAgIG56S2V5OiAnb3V0VGltZSdcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAvLyBUT0RPIOa4heepuiB0b2tlbiDkv6Hmga9cclxuICAgICAgICAgICAgICAgICAgTG9jYWxTdG9yYWdlVXRpbC5jbGVhclVzKClcclxuICAgICAgICAgICAgICAgICAgdGhpcy5tZW51U2VydmljZS5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdvVG8oJy9wL2xvZ2luJyx0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZihib2R5ICYmIGJvZHkuc3RhdHVzID09PSAxMDI0KXtcclxuICAgICAgICAgICAgICAgICAgLy8g5oiW6ICF5L6d54S25L+d5oyB5a6M5pW055qE5qC85byPXHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZS5lcnJvcihib2R5Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoYm9keSAmJiBib2R5LnN0YXR1cyA9PT0gMTAyNSl7XHJcbiAgICAgICAgICAgICAgICAgIC8vIOaIluiAheS+neeEtuS/neaMgeWujOaVtOeahOagvOW8j1xyXG4gICAgICAgICAgICAgICAgICBpZighbm9UaXApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UuZXJyb3IoYOWPguaVsOS4uuepuuOAgmApO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoYm9keSAmJiBib2R5LnN0YXR1cyA9PT0gNTAzKXtcclxuICAgICAgICAgICAgICAgICAgLy8g5oiW6ICF5L6d54S25L+d5oyB5a6M5pW055qE5qC85byPXHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZS5lcnJvcihib2R5Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ZWxzZSBpZihib2R5ICYmIGJvZHkuc3RhdHVzID09PSAyMDQpe1xyXG4gICAgICAgICAgICAgICAgICAvLyDmiJbogIXkvp3nhLbkv53mjIHlrozmlbTnmoTmoLzlvI9cclxuICAgICAgICAgICAgICAgICAgaWYoIW5vVGlwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlLnN1Y2Nlc3MoYm9keS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfWVsc2UgaWYoYm9keSAmJiBib2R5LnN0YXR1cyA9PT0gMjAxKXtcclxuICAgICAgICAgICAgICAgICAgLy8g5oiW6ICF5L6d54S25L+d5oyB5a6M5pW055qE5qC85byPXHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZS5zdWNjZXNzKGJvZHkubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZXYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSA0MDE6XHJcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKGDmnKrnmbvlvZXmiJbnmbvlvZXlt7Lov4fmnJ/vvIzor7fph43mlrDnmbvlvZXjgIJgLCBgYCx7XHJcbiAgICAgICAgICAgICAgbnpLZXk6ICdvdXRUaW1lJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgLy8gVE9ETyDmuIXnqbogdG9rZW4g5L+h5oGvXHJcblxyXG4gICAgICAgICAgICAvLyB0aGlzLmdvVG8oJy9wL2xvZ2luJyxmYWxzZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSA0MDM6XHJcbiAgICAgICAgICBjYXNlIDQwNDpcclxuICAgICAgICAgIGNhc2UgNTAwOlxyXG4gICAgICAgICAgICB0aGlzLmdvVG8oYC9leGNlcHRpb24vJHtldi5zdGF0dXN9YCxmYWxzZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGV2IGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICAvLyBjb25zb2xlLndhcm4oJ+acquWPr+efpemUmeivr++8jOWkp+mDqOWIhuaYr+eUseS6juWQjuerr+S4jeaUr+aMgUNPUlPmiJbml6DmlYjphY3nva7lvJXotbcnLCBldik7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gb2YoZXYpO1xyXG4gICAgICB9XHJcbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgICAgaWYoIWF0cl9zdGF0aWNfZGF0YXMuU0VSVkVSX1VSTCl7XHJcbiAgICAgICAgYWxlcnQoJ+ivt+mFjee9rmlwIGF0cl9zdGF0aWNfZGF0YXMuU0VSVkVSX1VSTCcpXHJcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgICAgICAvLyDnu5/kuIDliqDkuIrmnI3liqHnq6/liY3nvIBcclxuICAgICAgICBsZXQgdXJsID0gcmVxLnVybDtcclxuICAgICAgICBpZiAoIXVybC5zdGFydHNXaXRoKCdodHRwczovLycpICYmICF1cmwuc3RhcnRzV2l0aCgnaHR0cDovLycpKSB7XHJcbiAgICAgICAgICB1cmwgPSBhdHJfc3RhdGljX2RhdGFzLlNFUlZFUl9VUkwgKyB1cmw7XHJcbiAgICAgICAgICByZXEgPSByZXEuY2xvbmUoeyB1cmwgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICBsZXQgbm9UaXAgPSByZXEuaGVhZGVycy5nZXQoXCJub1RpcFwiKTtcclxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxyXG4gICAgICAgICAgbWVyZ2VNYXAoKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgLy8g5YWB6K6457uf5LiA5a+56K+35rGC6ZSZ6K+v5aSE55CGXHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZUJhc2UpIHJldHVybiB0aGlzLmhhbmRsZURhdGEoZXZlbnQsbm9UaXAgPT0gXCIxXCIpO1xyXG4gICAgICAgICAgICAvLyDoi6XkuIDliIfpg73mraPluLjvvIzliJnlkI7nu63mk43kvZxcclxuICAgICAgICAgICAgcmV0dXJuIG9mKGV2ZW50KTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVEYXRhKGVycixub1RpcCA9PSBcIjFcIikpLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxufVxyXG4iXX0=
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpErrorResponse, HttpResponseBase, HttpResponse } from '@angular/common/http';
3
+ import { Observable, of, throwError } from 'rxjs';
4
+ import { mergeMap, catchError } from 'rxjs/operators';
5
+ import { Router } from '@angular/router';
6
+ import { NzNotificationService } from 'ng-zorro-antd/notification';
7
+ import { NzMessageService } from 'ng-zorro-antd/message';
8
+ import { LocalStorageUtil } from "../utils/localstorage.util";
9
+ import { AtrReuseStrategy } from "../routereuse/atr-reuse-strategy";
10
+ import { MenuService } from "../services/menu.service";
11
+ import { atr_static_datas } from "../base/atr-common";
12
+ import * as i0 from "@angular/core";
13
+ const CODEMESSAGE = {
14
+ 200: '服务器成功返回请求的数据。',
15
+ 201: '新建或修改数据成功。',
16
+ 202: '一个请求已经进入后台排队(异步任务)。',
17
+ 204: '删除数据成功。',
18
+ 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',
19
+ 401: '用户没有权限(令牌、用户名、密码错误)。',
20
+ 403: '用户得到授权,但是访问是被禁止的。',
21
+ 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',
22
+ 406: '请求的格式不可得。',
23
+ 410: '请求的资源被永久删除,且不会再得到的。',
24
+ 422: '当创建一个对象时,发生一个验证错误。',
25
+ 500: '服务器发生错误,请检查服务器。',
26
+ 502: '网关错误。',
27
+ 503: '服务不可用,服务器暂时过载或维护。',
28
+ 504: '网关超时。',
29
+ };
30
+ export class BaseInterceptor {
31
+ constructor(injector) {
32
+ this.injector = injector;
33
+ }
34
+ get notification() {
35
+ return this.injector.get(NzNotificationService);
36
+ }
37
+ get message() {
38
+ return this.injector.get(NzMessageService);
39
+ }
40
+ get menuService() {
41
+ return this.injector.get(MenuService);
42
+ }
43
+ goTo(url, isClearCache) {
44
+ // console.log("需要跳转到页面:")
45
+ // console.log(url);
46
+ setTimeout(() => this.injector.get(Router).navigateByUrl(url));
47
+ if (isClearCache) {
48
+ setTimeout(() => AtrReuseStrategy.deleteAll(), 50);
49
+ }
50
+ }
51
+ checkStatus(ev) {
52
+ if ((ev.status >= 200 && ev.status < 300) || ev.status === 401) {
53
+ return;
54
+ }
55
+ // console.log(ev.status);
56
+ // const errortext = CODEMESSAGE[ev.status] || ev.statusText;
57
+ this.message.error('网络错误,请稍后重试:' + ev.status);
58
+ }
59
+ handleData(ev, noTip = false) {
60
+ this.checkStatus(ev);
61
+ // 业务处理:一些通用操作
62
+ switch (ev.status) {
63
+ case 200:
64
+ // TODO status
65
+ // 业务层级错误处理,以下是假定restful有一套统一输出格式(指不管成功与否都有相应的数据格式)情况下进行处理
66
+ // 例如响应内容:
67
+ // 错误内容:{ status: 1, msg: '非法参数' }
68
+ // 正确内容:{ status: 0, response: { } }
69
+ // 则以下代码片断可直接适用
70
+ if (ev instanceof HttpResponse) {
71
+ const body = ev.body;
72
+ if (body && body.status === 401) {
73
+ if (!noTip) {
74
+ this.notification.error(`未登录或登录已过期,请重新登录。`, ``, {
75
+ nzKey: 'outTime'
76
+ });
77
+ }
78
+ // TODO 清空 token 信息
79
+ LocalStorageUtil.clearUs();
80
+ this.menuService.clear();
81
+ this.goTo('/p/login', true);
82
+ }
83
+ else if (body && body.status === 1024) {
84
+ // 或者依然保持完整的格式
85
+ if (!noTip) {
86
+ this.message.error(body.message);
87
+ }
88
+ }
89
+ else if (body && body.status === 1025) {
90
+ // 或者依然保持完整的格式
91
+ if (!noTip) {
92
+ this.message.error(`参数为空。`);
93
+ }
94
+ }
95
+ else if (body && body.status === 503) {
96
+ // 或者依然保持完整的格式
97
+ if (!noTip) {
98
+ this.message.error(body.message);
99
+ }
100
+ }
101
+ else if (body && body.status === 204) {
102
+ // 或者依然保持完整的格式
103
+ if (!noTip) {
104
+ this.message.success(body.message);
105
+ }
106
+ }
107
+ else if (body && body.status === 201) {
108
+ // 或者依然保持完整的格式
109
+ if (!noTip) {
110
+ this.message.success(body.message);
111
+ }
112
+ }
113
+ else {
114
+ return of(ev);
115
+ }
116
+ }
117
+ break;
118
+ case 401:
119
+ this.notification.error(`未登录或登录已过期,请重新登录。`, ``, {
120
+ nzKey: 'outTime'
121
+ });
122
+ // TODO 清空 token 信息
123
+ // this.goTo('/p/login',false);
124
+ break;
125
+ case 403:
126
+ case 404:
127
+ case 500:
128
+ this.goTo(`/exception/${ev.status}`, false);
129
+ break;
130
+ default:
131
+ if (ev instanceof HttpErrorResponse) {
132
+ // console.warn('未可知错误,大部分是由于后端不支持CORS或无效配置引起', ev);
133
+ return throwError(ev);
134
+ }
135
+ break;
136
+ }
137
+ return of(ev);
138
+ }
139
+ intercept(req, next) {
140
+ if (!atr_static_datas.SERVER_URL) {
141
+ alert('请配置ip atr_static_datas.SERVER_URL');
142
+ return new Observable();
143
+ }
144
+ // 统一加上服务端前缀
145
+ let url = req.url;
146
+ if (!url.startsWith('https://') && !url.startsWith('http://')) {
147
+ url = atr_static_datas.SERVER_URL + url;
148
+ req = req.clone({ url });
149
+ }
150
+ let noTip = req.headers.get("noTip");
151
+ return next.handle(req).pipe(mergeMap((event) => {
152
+ // 允许统一对请求错误处理
153
+ if (event instanceof HttpResponseBase)
154
+ return this.handleData(event, noTip == "1");
155
+ // 若一切都正常,则后续操作
156
+ return of(event);
157
+ }), catchError((err) => this.handleData(err, noTip == "1")));
158
+ }
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BaseInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
160
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BaseInterceptor }); }
161
+ }
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BaseInterceptor, decorators: [{
163
+ type: Injectable
164
+ }], ctorParameters: () => [{ type: i0.Injector }] });
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvaW50ZXJjZXB0b3IvYmFzZS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBd0QsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDNUosT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFHLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFcEQsTUFBTSxXQUFXLEdBQUc7SUFDaEIsR0FBRyxFQUFFLGVBQWU7SUFDcEIsR0FBRyxFQUFFLFlBQVk7SUFDakIsR0FBRyxFQUFFLHFCQUFxQjtJQUMxQixHQUFHLEVBQUUsU0FBUztJQUNkLEdBQUcsRUFBRSw2QkFBNkI7SUFDbEMsR0FBRyxFQUFFLHNCQUFzQjtJQUMzQixHQUFHLEVBQUUsbUJBQW1CO0lBQ3hCLEdBQUcsRUFBRSw0QkFB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QUFDO1lBQ2xGLGVBQWU7WUFDZixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FDMUUsQ0FBQztJQUNKLENBQUM7OEdBN0hNLGVBQWU7a0hBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBIYW5kbGVyLCBIdHRwRXZlbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUmVzcG9uc2VCYXNlLCBIdHRwUmVzcG9uc2UsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiAsdGhyb3dFcnJvciAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWVyZ2VNYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE56Tm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHtOek1lc3NhZ2VTZXJ2aWNlfSBmcm9tICduZy16b3Jyby1hbnRkL21lc3NhZ2UnO1xyXG5pbXBvcnQge0xvY2FsU3RvcmFnZVV0aWx9IGZyb20gXCIuLi91dGlscy9sb2NhbHN0b3JhZ2UudXRpbFwiO1xyXG5pbXBvcnQge0F0clJldXNlU3RyYXRlZ3l9IGZyb20gXCIuLi9yb3V0ZXJldXNlL2F0ci1yZXVzZS1zdHJhdGVneVwiO1xyXG5pbXBvcnQge01lbnVTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvbWVudS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7YXRyX3N0YXRpY19kYXRhc30gZnJvbSBcIi4uL2Jhc2UvYXRyLWNvbW1vblwiO1xyXG5cclxuY29uc3QgQ09ERU1FU1NBR0UgPSB7XHJcbiAgICAyMDA6ICfmnI3liqHlmajmiJDlip/ov5Tlm57or7fmsYLnmoTmlbDmja7jgIInLFxyXG4gICAgMjAxOiAn5paw5bu65oiW5L+u5pS55pWw5o2u5oiQ5Yqf44CCJyxcclxuICAgIDIwMjogJ+S4gOS4quivt+axguW3sue7j+i/m+WFpeWQjuWPsOaOkumYn++8iOW8guatpeS7u+WKoe+8ieOAgicsXHJcbiAgICAyMDQ6ICfliKDpmaTmlbDmja7miJDlip/jgIInLFxyXG4gICAgNDAwOiAn5Y+R5Ye655qE6K+35rGC5pyJ6ZSZ6K+v77yM5pyN5Yqh5Zmo5rKh5pyJ6L+b6KGM5paw5bu65oiW5L+u5pS55pWw5o2u55qE5pON5L2c44CCJyxcclxuICAgIDQwMTogJ+eUqOaIt+ayoeacieadg+mZkO+8iOS7pOeJjOOAgeeUqOaIt+WQjeOAgeWvhueggemUmeivr++8ieOAgicsXHJcbiAgICA0MDM6ICfnlKjmiLflvpfliLDmjojmnYPvvIzkvYbmmK/orr/pl67mmK/ooqvnpoHmraLnmoTjgIInLFxyXG4gICAgNDA0OiAn5Y+R5Ye655qE6K+35rGC6ZKI5a+555qE5piv5LiN5a2Y5Zyo55qE6K6w5b2V77yM5pyN5Yqh5Zmo5rKh5pyJ6L+b6KGM5pON5L2c44CCJyxcclxuICAgIDQwNjogJ+ivt+axgueahOagvOW8j+S4jeWPr+W+l+OAgicsXHJcbiAgICA0MTA6ICfor7fmsYLnmoTotYTmupDooqvmsLjkuYXliKDpmaTvvIzkuJTkuI3kvJrlho3lvpfliLDnmoTjgIInLFxyXG4gICAgNDIyOiAn5b2T5Yib5bu65LiA5Liq5a+56LGh5pe277yM5Y+R55Sf5LiA5Liq6aqM6K+B6ZSZ6K+v44CCJyxcclxuICAgIDUwMDogJ+acjeWKoeWZqOWPkeeUn+mUmeivr++8jOivt+ajgOafpeacjeWKoeWZqOOAgicsXHJcbiAgICA1MDI6ICfnvZHlhbPplJnor6/jgIInLFxyXG4gICAgNTAzOiAn5pyN5Yqh5LiN5Y+v55So77yM5pyN5Yqh5Zmo5pqC5pe26L+H6L295oiW57u05oqk44CCJyxcclxuICAgIDUwNDogJ+e9keWFs+i2heaXtuOAgicsXHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3J7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cclxuICAgIHByaXZhdGUgZ2V0IG5vdGlmaWNhdGlvbigpOiBOek5vdGlmaWNhdGlvblNlcnZpY2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChOek5vdGlmaWNhdGlvblNlcnZpY2UpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBnZXQgbWVzc2FnZSgpOiBOek1lc3NhZ2VTZXJ2aWNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoTnpNZXNzYWdlU2VydmljZSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGdldCBtZW51U2VydmljZSgpOiBNZW51U2VydmljZXtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoTWVudVNlcnZpY2UpXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnb1RvKHVybDogc3RyaW5nLGlzQ2xlYXJDYWNoZTpib29sZWFuKSB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwi6ZyA6KaB6Lez6L2s5Yiw6aG16Z2i77yaXCIpXHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKHVybCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKS5uYXZpZ2F0ZUJ5VXJsKHVybCkpO1xyXG4gICAgICBpZihpc0NsZWFyQ2FjaGUpe1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCk9PiAgQXRyUmV1c2VTdHJhdGVneS5kZWxldGVBbGwoKSw1MCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrU3RhdHVzKGV2OiBIdHRwUmVzcG9uc2VCYXNlKSB7XHJcbiAgICAgICAgaWYgKChldi5zdGF0dXMgPj0gMjAwICYmIGV2LnN0YXR1cyA8IDMwMCkgfHwgZXYuc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZXYuc3RhdHVzKTtcclxuICAgICAgICAvLyBjb25zdCBlcnJvcnRleHQgPSBDT0RFTUVTU0FHRVtldi5zdGF0dXNdIHx8IGV2LnN0YXR1c1RleHQ7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlLmVycm9yKCfnvZHnu5zplJnor68s6K+356iN5ZCO6YeN6K+V77yaJyArIGV2LnN0YXR1cyk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGhhbmRsZURhdGEoZXY6IEh0dHBSZXNwb25zZUJhc2Usbm9UaXAgPSBmYWxzZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgdGhpcy5jaGVja1N0YXR1cyhldik7XHJcbiAgICAgICAgLy8g5Lia5Yqh5aSE55CG77ya5LiA5Lqb6YCa55So5pON5L2cXHJcbiAgICAgICAgc3dpdGNoIChldi5zdGF0dXMpIHtcclxuICAgICAgICAgIGNhc2UgMjAwOlxyXG4gICAgICAgICAgICAvLyBUT0RPIHN0YXR1c1xyXG4gICAgICAgICAgICAvLyDkuJrliqHlsYLnuqfplJnor6/lpITnkIbvvIzku6XkuIvmmK/lgYflrppyZXN0ZnVs5pyJ5LiA5aWX57uf5LiA6L6T5Ye65qC85byP77yI5oyH5LiN566h5oiQ5Yqf5LiO5ZCm6YO95pyJ55u45bqU55qE5pWw5o2u5qC85byP77yJ5oOF5Ya15LiL6L+b6KGM5aSE55CGXHJcbiAgICAgICAgICAgIC8vIOS+i+WmguWTjeW6lOWGheWuue+8mlxyXG4gICAgICAgICAgICAvLyAg6ZSZ6K+v5YaF5a6577yaeyBzdGF0dXM6IDEsIG1zZzogJ+mdnuazleWPguaVsCcgfVxyXG4gICAgICAgICAgICAvLyAg5q2j56Gu5YaF5a6577yaeyBzdGF0dXM6IDAsIHJlc3BvbnNlOiB7ICB9IH1cclxuICAgICAgICAgICAgLy8g5YiZ5Lul5LiL5Luj56CB54mH5pat5Y+v55u05o6l6YCC55SoXHJcbiAgICAgICAgICAgIGlmIChldiBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYm9keTogYW55ID0gZXYuYm9keTtcclxuICAgICAgICAgICAgICAgIGlmIChib2R5ICYmIGJvZHkuc3RhdHVzID09PSA0MDEgKSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IoYOacqueZu+W9leaIlueZu+W9leW3sui/h+acn++8jOivt+mHjeaWsOeZu+W9leOAgmAsIGBgLHtcclxuICAgICAgICAgICAgICAgICAgICAgIG56S2V5OiAnb3V0VGltZSdcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAvLyBUT0RPIOa4heepuiB0b2tlbiDkv6Hmga9cclxuICAgICAgICAgICAgICAgICAgTG9jYWxTdG9yYWdlVXRpbC5jbGVhclVzKClcclxuICAgICAgICAgICAgICAgICAgdGhpcy5tZW51U2VydmljZS5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdvVG8oJy9wL2xvZ2luJyx0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZihib2R5ICYmIGJvZHkuc3RhdHVzID09PSAxMDI0KXtcclxuICAgICAgICAgICAgICAgICAgLy8g5oiW6ICF5L6d54S25L+d5oyB5a6M5pW055qE5qC85byPXHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZS5lcnJvcihib2R5Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoYm9keSAmJiBib2R5LnN0YXR1cyA9PT0gMTAyNSl7XHJcbiAgICAgICAgICAgICAgICAgIC8vIOaIluiAheS+neeEtuS/neaMgeWujOaVtOeahOagvOW8j1xyXG4gICAgICAgICAgICAgICAgICBpZighbm9UaXApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UuZXJyb3IoYOWPguaVsOS4uuepuuOAgmApO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoYm9keSAmJiBib2R5LnN0YXR1cyA9PT0gNTAzKXtcclxuICAgICAgICAgICAgICAgICAgLy8g5oiW6ICF5L6d54S25L+d5oyB5a6M5pW055qE5qC85byPXHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZS5lcnJvcihib2R5Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ZWxzZSBpZihib2R5ICYmIGJvZHkuc3RhdHVzID09PSAyMDQpe1xyXG4gICAgICAgICAgICAgICAgICAvLyDmiJbogIXkvp3nhLbkv53mjIHlrozmlbTnmoTmoLzlvI9cclxuICAgICAgICAgICAgICAgICAgaWYoIW5vVGlwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlLnN1Y2Nlc3MoYm9keS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfWVsc2UgaWYoYm9keSAmJiBib2R5LnN0YXR1cyA9PT0gMjAxKXtcclxuICAgICAgICAgICAgICAgICAgLy8g5oiW6ICF5L6d54S25L+d5oyB5a6M5pW055qE5qC85byPXHJcbiAgICAgICAgICAgICAgICAgIGlmKCFub1RpcCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZS5zdWNjZXNzKGJvZHkubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZXYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSA0MDE6XHJcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKGDmnKrnmbvlvZXmiJbnmbvlvZXlt7Lov4fmnJ/vvIzor7fph43mlrDnmbvlvZXjgIJgLCBgYCx7XHJcbiAgICAgICAgICAgICAgbnpLZXk6ICdvdXRUaW1lJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgLy8gVE9ETyDmuIXnqbogdG9rZW4g5L+h5oGvXHJcblxyXG4gICAgICAgICAgICAvLyB0aGlzLmdvVG8oJy9wL2xvZ2luJyxmYWxzZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSA0MDM6XHJcbiAgICAgICAgICBjYXNlIDQwNDpcclxuICAgICAgICAgIGNhc2UgNTAwOlxyXG4gICAgICAgICAgICB0aGlzLmdvVG8oYC9leGNlcHRpb24vJHtldi5zdGF0dXN9YCxmYWxzZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGV2IGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICAvLyBjb25zb2xlLndhcm4oJ+acquWPr+efpemUmeivr++8jOWkp+mDqOWIhuaYr+eUseS6juWQjuerr+S4jeaUr+aMgUNPUlPmiJbml6DmlYjphY3nva7lvJXotbcnLCBldik7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gb2YoZXYpO1xyXG4gICAgICB9XHJcbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgICAgaWYoIWF0cl9zdGF0aWNfZGF0YXMuU0VSVkVSX1VSTCl7XHJcbiAgICAgICAgYWxlcnQoJ+ivt+mFjee9rmlwIGF0cl9zdGF0aWNfZGF0YXMuU0VSVkVSX1VSTCcpXHJcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgICAgICAvLyDnu5/kuIDliqDkuIrmnI3liqHnq6/liY3nvIBcclxuICAgICAgICBsZXQgdXJsID0gcmVxLnVybDtcclxuICAgICAgICBpZiAoIXVybC5zdGFydHNXaXRoKCdodHRwczovLycpICYmICF1cmwuc3RhcnRzV2l0aCgnaHR0cDovLycpKSB7XHJcbiAgICAgICAgICB1cmwgPSBhdHJfc3RhdGljX2RhdGFzLlNFUlZFUl9VUkwgKyB1cmw7XHJcbiAgICAgICAgICByZXEgPSByZXEuY2xvbmUoeyB1cmwgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICBsZXQgbm9UaXAgPSByZXEuaGVhZGVycy5nZXQoXCJub1RpcFwiKTtcclxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxyXG4gICAgICAgICAgbWVyZ2VNYXAoKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgLy8g5YWB6K6457uf5LiA5a+56K+35rGC6ZSZ6K+v5aSE55CGXHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZUJhc2UpIHJldHVybiB0aGlzLmhhbmRsZURhdGEoZXZlbnQsbm9UaXAgPT0gXCIxXCIpO1xyXG4gICAgICAgICAgICAvLyDoi6XkuIDliIfpg73mraPluLjvvIzliJnlkI7nu63mk43kvZxcclxuICAgICAgICAgICAgcmV0dXJuIG9mKGV2ZW50KTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVEYXRhKGVycixub1RpcCA9PSBcIjFcIikpLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxufVxyXG4iXX0=