@reskin/core 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -25
- package/bundles/reskin-core-classes.umd.js +3 -0
- package/bundles/reskin-core-classes.umd.js.map +1 -1
- package/bundles/reskin-core-directives.umd.js.map +1 -1
- package/bundles/reskin-core-entity-field.umd.js.map +1 -1
- package/bundles/reskin-core-entity-menu.umd.js.map +1 -1
- package/bundles/reskin-core-entity-org.umd.js +3 -3
- package/bundles/reskin-core-entity-org.umd.js.map +1 -1
- package/bundles/reskin-core-entity-scheme.umd.js.map +1 -1
- package/bundles/reskin-core-guards.umd.js.map +1 -1
- package/bundles/reskin-core-interceptors.umd.js +1 -1
- package/bundles/reskin-core-interceptors.umd.js.map +1 -1
- package/bundles/reskin-core-services.umd.js +231 -56
- package/bundles/reskin-core-services.umd.js.map +1 -1
- package/bundles/reskin-core-utils.umd.js +45 -12
- package/bundles/reskin-core-utils.umd.js.map +1 -1
- package/classes/table.helper.d.ts +0 -9
- package/entity/file/IUploadFileData.d.ts +1 -1
- package/entity/org/OrgTypeEnum.d.ts +3 -3
- package/esm2015/classes/public-api.js +1 -1
- package/esm2015/classes/table.helper.js +4 -1
- package/esm2015/directives/auth.directive.js +1 -1
- package/esm2015/directives/directives.module.js +1 -1
- package/esm2015/directives/public-api.js +1 -1
- package/esm2015/entity/Env.js +1 -1
- package/esm2015/entity/IPage.js +1 -1
- package/esm2015/entity/R.js +1 -1
- package/esm2015/entity/WC.js +1 -1
- package/esm2015/entity/dictionary/IDictionaryBaseInfo.js +1 -1
- package/esm2015/entity/dictionary/IDictionaryItem.js +1 -1
- package/esm2015/entity/dictionary/public-api.js +1 -1
- package/esm2015/entity/field/ColumnTypeEnum.js +1 -1
- package/esm2015/entity/field/ITableField.js +1 -1
- package/esm2015/entity/field/public-api.js +1 -1
- package/esm2015/entity/file/IUploadFileData.js +1 -1
- package/esm2015/entity/file/public-api.js +1 -1
- package/esm2015/entity/menu/IMenu.js +1 -1
- package/esm2015/entity/menu/MenuTypeEnum.js +1 -1
- package/esm2015/entity/menu/public-api.js +1 -1
- package/esm2015/entity/org/IOrgTreeNode.js +1 -1
- package/esm2015/entity/org/OrgTypeEnum.js +4 -4
- package/esm2015/entity/org/public-api.js +1 -1
- package/esm2015/entity/public-api.js +1 -1
- package/esm2015/entity/scheme/IFieldScheme.js +1 -1
- package/esm2015/entity/scheme/IScheme.js +1 -1
- package/esm2015/entity/scheme/SchemeEditTypeEnum.js +1 -1
- package/esm2015/entity/scheme/public-api.js +1 -1
- package/esm2015/entity/user/IAuth.js +1 -1
- package/esm2015/entity/user/IAuthAccount.js +1 -1
- package/esm2015/entity/user/public-api.js +1 -1
- package/esm2015/guards/auth.guard.js +1 -1
- package/esm2015/guards/public-api.js +1 -1
- package/esm2015/interceptors/blob.interceptor.js +1 -1
- package/esm2015/interceptors/cache.interceptor.js +1 -1
- package/esm2015/interceptors/error.interceptor.js +2 -2
- package/esm2015/interceptors/public-api.js +1 -1
- package/esm2015/interceptors/token.interceptor.js +1 -1
- package/esm2015/services/account.service.js +15 -2
- package/esm2015/services/app.config.js +27 -5
- package/esm2015/services/auth.service.js +11 -2
- package/esm2015/services/cache.http.service.js +34 -12
- package/esm2015/services/destroy.service.js +10 -1
- package/esm2015/services/dictionary.service.js +20 -13
- package/esm2015/services/down.file.service.js +15 -7
- package/esm2015/services/field.scheme.service.js +19 -6
- package/esm2015/services/file.service.js +54 -11
- package/esm2015/services/menu.service.js +18 -1
- package/esm2015/services/org.service.js +4 -2
- package/esm2015/services/public-api.js +1 -1
- package/esm2015/services/scheme.service.js +20 -6
- package/esm2015/utils/array.js +14 -3
- package/esm2015/utils/dom.js +13 -3
- package/esm2015/utils/public-api.js +1 -1
- package/esm2015/utils/store.js +21 -9
- package/fesm2015/reskin-core-classes.js +3 -0
- package/fesm2015/reskin-core-classes.js.map +1 -1
- package/fesm2015/reskin-core-directives.js.map +1 -1
- package/fesm2015/reskin-core-entity-field.js.map +1 -1
- package/fesm2015/reskin-core-entity-menu.js.map +1 -1
- package/fesm2015/reskin-core-entity-org.js +3 -3
- package/fesm2015/reskin-core-entity-org.js.map +1 -1
- package/fesm2015/reskin-core-entity-scheme.js.map +1 -1
- package/fesm2015/reskin-core-guards.js.map +1 -1
- package/fesm2015/reskin-core-interceptors.js +1 -1
- package/fesm2015/reskin-core-interceptors.js.map +1 -1
- package/fesm2015/reskin-core-services.js +235 -56
- package/fesm2015/reskin-core-services.js.map +1 -1
- package/fesm2015/reskin-core-utils.js +45 -12
- package/fesm2015/reskin-core-utils.js.map +1 -1
- package/package.json +1 -1
- package/services/account.service.d.ts +13 -1
- package/services/app.config.d.ts +12 -3
- package/services/auth.service.d.ts +2 -1
- package/services/cache.http.service.d.ts +30 -11
- package/services/destroy.service.d.ts +9 -0
- package/services/dictionary.service.d.ts +12 -12
- package/services/down.file.service.d.ts +14 -6
- package/services/field.scheme.service.d.ts +7 -3
- package/services/file.service.d.ts +45 -10
- package/services/menu.service.d.ts +4 -0
- package/services/org.service.d.ts +2 -1
- package/services/scheme.service.d.ts +8 -3
- package/utils/array.d.ts +6 -2
- package/utils/dom.d.ts +7 -2
- package/utils/store.d.ts +20 -8
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
33
33
|
export function providerHttpCache() {
|
|
34
34
|
return { provide: HTTP_INTERCEPTORS, useClass: CacheInterceptor, multi: true };
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvaW50ZXJjZXB0b3JzL2NhY2hlLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFzRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSTdDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsWUFBb0IsU0FBNkI7UUFBN0IsY0FBUyxHQUFULFNBQVMsQ0FBb0I7SUFBRyxDQUFDO0lBRXJELFNBQVMsQ0FBQyxPQUE2QixFQUFFLElBQWlCO1FBQ3RELFdBQVc7UUFDWCxpQ0FBaUM7UUFDakMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLEtBQUssSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQ3BELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNYLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQzthQUM3QztZQUNELE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OzhHQWhCUSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOztBQW9CWDs7R0FFRztBQUNILE1BQU0sVUFBVSxpQkFBaUI7SUFDN0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ25GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdCwgSHR0cEhhbmRsZXIsIEh0dHBFdmVudCwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVzcG9uc2UsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSa0NhY2hlSHR0cFNlcnZpY2UgfSBmcm9tICdAcmVza2luL2NvcmUvc2VydmljZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FjaGVJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjYWNoZUh0dHA6IFJrQ2FjaGVIdHRwU2VydmljZSkge31cblxuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xuICAgICAgICAvLyAxLuWIpOaWreaYr0dFVFxuICAgICAgICAvLyAyLmhlYWRlcuS4rea3u+WKoCBDYWNoZS1NYXA6IFN0b3JhZ2VcbiAgICAgICAgY29uc3QgY2FjaGVNYXAgPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KCdDYWNoZS1NYXAnKTtcbiAgICAgICAgaWYgKHJlcXVlc3QubWV0aG9kID09PSAnR0VUJyAmJiBjYWNoZU1hcCA9PT0gJ1N0b3JhZ2UnKSB7XG4gICAgICAgICAgICBsZXQgcmVzcG9uc2UgPSB0aGlzLmNhY2hlSHR0cC5nZXQocmVxdWVzdC51cmwpO1xuICAgICAgICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZUh0dHAuc2V0KHJlcXVlc3QudXJsLCByZXNwb25zZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBHRVTor7fmsYLnvJPlrZjmi6bmiKrlmahcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVySHR0cENhY2hlKCkge1xuICAgIHJldHVybiB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogQ2FjaGVJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfTtcbn1cbiJdfQ==
|
|
@@ -12,7 +12,7 @@ export class ErrorInterceptor {
|
|
|
12
12
|
return next.handle(request).pipe(catchError((result) => {
|
|
13
13
|
var _a;
|
|
14
14
|
if (result.status === 401) {
|
|
15
|
-
this.router.
|
|
15
|
+
this.router.navigate(['/errors/401']).then();
|
|
16
16
|
}
|
|
17
17
|
if (result.error.code) {
|
|
18
18
|
return of(result.error);
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
32
32
|
export function providerHttpError() {
|
|
33
33
|
return { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true };
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvaW50ZXJjZXB0b3JzL2Vycm9yLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF3RCxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9HLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFJNUMsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFFdEMsU0FBUyxDQUFDLE9BQTZCLEVBQUUsSUFBaUI7UUFDdEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDNUIsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7O1lBQ2xCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNoRDtZQUNELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMzQjtZQUNELE1BQU0sTUFBQSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsbUNBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs7OEdBZlEsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7QUFtQlg7O0dBRUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCO0lBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNuRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdCwgSHR0cEhhbmRsZXIsIEh0dHBFdmVudCwgSHR0cEludGVyY2VwdG9yLCBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEVycm9ySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cclxuXHJcbiAgICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcclxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZXJyb3JzLzQwMSddKS50aGVuKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmVycm9yLmNvZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YocmVzdWx0LmVycm9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRocm93IHJlc3VsdC5lcnJvci5tc2cgPz8gcmVzdWx0Lm1lc3NhZ2U7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDor7fmsYLplJnor6/mi6bmiKrlmahcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlckh0dHBFcnJvcigpIHtcclxuICAgIHJldHVybiB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogRXJyb3JJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfTtcclxufVxyXG4iXX0=
|
|
@@ -2,4 +2,4 @@ export * from './token.interceptor';
|
|
|
2
2
|
export * from './error.interceptor';
|
|
3
3
|
export * from './cache.interceptor';
|
|
4
4
|
export * from './blob.interceptor';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnJhcnkvY29yZS9pbnRlcmNlcHRvcnMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90b2tlbi5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9yLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY2FjaGUuaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9ibG9iLmludGVyY2VwdG9yJztcbiJdfQ==
|
|
@@ -45,4 +45,4 @@ export function NoAuthTokenTemplate(urls, ...params) {
|
|
|
45
45
|
}
|
|
46
46
|
return [url, { headers: new HttpHeaders({ 'Token-Control': 'no-token' }) }];
|
|
47
47
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvaW50ZXJjZXB0b3JzL3Rva2VuLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF3RCxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTTVILE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsWUFBb0IsT0FBc0I7UUFBdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtJQUFHLENBQUM7SUFFOUMsU0FBUyxDQUFDLE9BQTZCLEVBQUUsSUFBaUI7UUFDdEQsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQVUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDdkMsaURBQWlEO1FBQ2pELElBQUksRUFBRSxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2pDLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUNwQixVQUFVLEVBQUU7b0JBQ1IsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLO29CQUMzQixXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUU7aUJBQ3ZCO2FBQ0osQ0FBQyxDQUFDO1NBQ047UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7OEdBaEJRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7O0FBb0JYOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQjtJQUM3QixPQUFPLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDbkYsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQTBCLEVBQUUsR0FBRyxNQUFhO0lBQzVFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDakIsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNuQixHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztLQUNyQztJQUNELE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDaEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBSZXF1ZXN0LCBIdHRwSGFuZGxlciwgSHR0cEV2ZW50LCBIdHRwSW50ZXJjZXB0b3IsIEhUVFBfSU5URVJDRVBUT1JTLCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJrQXV0aFNlcnZpY2UgfSBmcm9tICdAcmVza2luL2NvcmUvc2VydmljZXMnO1xuaW1wb3J0IHsgSUF1dGggfSBmcm9tICdAcmVza2luL2NvcmUvZW50aXR5L3VzZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVG9rZW5JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBSa0F1dGhTZXJ2aWNlKSB7fVxuXG4gICAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgICAgIGNvbnN0IHRjID0gcmVxdWVzdC5oZWFkZXJzLmdldCgnVG9rZW4tQ29udHJvbCcpO1xuICAgICAgICBjb25zdCBhdXRoOiBJQXV0aCA9IHRoaXMuc2VydmljZS50b2tlbjtcbiAgICAgICAgLy8g5b2TIGhlYWRlciDkuK0gVG9rZW4tQ29udHJvbCDkuLogbm8tdG9rZW4g5pe25LiN5pC65bimIHRva2VuXG4gICAgICAgIGlmICh0YyAhPT0gJ25vLXRva2VuJyAmJiBhdXRoLnRva2VuKSB7XG4gICAgICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgICAgICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAnQXV0aG9yaXphdGlvbic6IGF1dGgudG9rZW4sXG4gICAgICAgICAgICAgICAgICAgICdYLUF1dGgtSWQnOiBhdXRoLmlkLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gICAgfVxufVxuXG4vKipcbiAqIOivt+axguWktOWinuWKoHRva2Vu6aqM6K+B5oum5oiq5ZmoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlckF1dGhUb2tlbigpIHtcbiAgICByZXR1cm4geyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IFRva2VuSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH07XG59XG5cbi8qKlxuICog5LiN5bimdG9rZW7pqozor4Hkv6Hmga/or7fmsYJcbiAqIEBwYXJhbSB1cmxzIOWcsOWdgFxuICogQHBhcmFtIHBhcmFtcyDlj4LmlbBcbiAqIEBjb25zdHJ1Y3RvclxuICovXG5leHBvcnQgZnVuY3Rpb24gTm9BdXRoVG9rZW5UZW1wbGF0ZSh1cmxzOiBUZW1wbGF0ZVN0cmluZ3NBcnJheSwgLi4ucGFyYW1zOiBhbnlbXSk6IFtzdHJpbmcsIHsgaGVhZGVyczogSHR0cEhlYWRlcnMgfV0ge1xuICAgIGxldCBbdXJsXSA9IHVybHM7XG4gICAgaWYgKHBhcmFtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHVybCA9IFN0cmluZy5yYXcodXJscywgLi4ucGFyYW1zKTtcbiAgICB9XG4gICAgcmV0dXJuIFt1cmwsIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ1Rva2VuLUNvbnRyb2wnOiAnbm8tdG9rZW4nIH0pIH1dO1xufVxuIl19
|
|
@@ -5,13 +5,18 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "@angular/common/http";
|
|
6
6
|
import * as i2 from "./auth.service";
|
|
7
7
|
export class RkAccountService {
|
|
8
|
-
constructor(http,
|
|
8
|
+
constructor(http, // HttpClient实例用于发送HTTP请求
|
|
9
|
+
auth) {
|
|
9
10
|
this.http = http;
|
|
10
11
|
this.auth = auth;
|
|
12
|
+
// 定义一个Store实例用于存储用户认证信息
|
|
11
13
|
this.account = new Store('account', {});
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* 加载人员权限
|
|
17
|
+
*
|
|
18
|
+
* 本方法通过发送HTTP POST请求来加载当前认证用户的权限数据,
|
|
19
|
+
* 如果请求成功,将权限数据存储在account Store实例中
|
|
15
20
|
*/
|
|
16
21
|
onLoadAuth() {
|
|
17
22
|
var _a;
|
|
@@ -24,24 +29,32 @@ export class RkAccountService {
|
|
|
24
29
|
}
|
|
25
30
|
/**
|
|
26
31
|
* 获得账号基本信息
|
|
32
|
+
*
|
|
33
|
+
* @returns {IAccountProfile} 返回当前账号的基本信息对象
|
|
27
34
|
*/
|
|
28
35
|
get userInfo() {
|
|
29
36
|
return this.account.get().UserInfo;
|
|
30
37
|
}
|
|
31
38
|
/**
|
|
32
39
|
* 获得账号人员库权限
|
|
40
|
+
*
|
|
41
|
+
* @returns {IAuthPersonnelPool} 返回当前账号的人员库权限对象
|
|
33
42
|
*/
|
|
34
43
|
get personnelPool() {
|
|
35
44
|
return this.account.get().AuthPersonnelPool;
|
|
36
45
|
}
|
|
37
46
|
/**
|
|
38
47
|
* 获得账号业务权限
|
|
48
|
+
*
|
|
49
|
+
* @returns {IAuthWorkflow} 返回当前账号的业务权限对象
|
|
39
50
|
*/
|
|
40
51
|
get workflowAuth() {
|
|
41
52
|
return this.account.get().AuthWfId;
|
|
42
53
|
}
|
|
43
54
|
/**
|
|
44
55
|
* 获得账号机构分组权限
|
|
56
|
+
*
|
|
57
|
+
* @returns {Array<IAuthOrgGroup>} 返回当前账号的机构分组权限数组
|
|
45
58
|
*/
|
|
46
59
|
get authOrgGroup() {
|
|
47
60
|
return this.account.get().AuthOrgGroup;
|
|
@@ -55,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
55
68
|
providedIn: 'root',
|
|
56
69
|
}]
|
|
57
70
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.RkAuthService }]; } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2FjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFNM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUd6QixZQUNZLElBQWdCLEVBQUUseUJBQXlCO0lBQzNDLElBQW1CO1FBRG5CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUovQix3QkFBd0I7UUFDaEIsWUFBTyxHQUFHLElBQUksS0FBSyxDQUFlLFNBQVMsRUFBZ0IsRUFBRSxDQUFDLENBQUM7SUFJcEUsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0gsVUFBVTs7UUFDTixNQUFNLEdBQUcsR0FBRywwREFBMEQsQ0FBQztRQUN2RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxFQUFFLGNBQWMsRUFBRSxNQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSywwQ0FBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDdkUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0I7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7SUFDM0MsQ0FBQzs7OEdBM0RRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs0RkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJrQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IElBY2NvdW50UHJvZmlsZSwgSUF1dGhBY2NvdW50LCBJQXV0aE9yZ0dyb3VwLCBJQXV0aFBlcnNvbm5lbFBvb2wsIElBdXRoV29ya2Zsb3cgfSBmcm9tICdAcmVza2luL2NvcmUvZW50aXR5L3VzZXInO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0ByZXNraW4vY29yZS91dGlscyc7XHJcbmltcG9ydCB7IFIgfSBmcm9tICdAcmVza2luL2NvcmUvZW50aXR5JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJrQWNjb3VudFNlcnZpY2Uge1xyXG4gICAgLy8g5a6a5LmJ5LiA5LiqU3RvcmXlrp7kvovnlKjkuo7lrZjlgqjnlKjmiLforqTor4Hkv6Hmga9cclxuICAgIHByaXZhdGUgYWNjb3VudCA9IG5ldyBTdG9yZTxJQXV0aEFjY291bnQ+KCdhY2NvdW50JywgPElBdXRoQWNjb3VudD57fSk7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIC8vIEh0dHBDbGllbnTlrp7kvovnlKjkuo7lj5HpgIFIVFRQ6K+35rGCXHJcbiAgICAgICAgcHJpdmF0ZSBhdXRoOiBSa0F1dGhTZXJ2aWNlLCAvLyBSa0F1dGhTZXJ2aWNl5a6e5L6L55So5LqO6Lqr5Lu96aqM6K+B55u45YWz5pON5L2cXHJcbiAgICApIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliqDovb3kurrlkZjmnYPpmZBcclxuICAgICAqXHJcbiAgICAgKiDmnKzmlrnms5XpgJrov4flj5HpgIFIVFRQIFBPU1Tor7fmsYLmnaXliqDovb3lvZPliY3orqTor4HnlKjmiLfnmoTmnYPpmZDmlbDmja7vvIxcclxuICAgICAqIOWmguaenOivt+axguaIkOWKn++8jOWwhuadg+mZkOaVsOaNruWtmOWCqOWcqGFjY291bnQgU3RvcmXlrp7kvovkuK1cclxuICAgICAqL1xyXG4gICAgb25Mb2FkQXV0aCgpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnYXBpL2dsLXNlcnZpY2Utc3lzLXVzZXIvdjEvdXNlci9zeXN0ZW0vdXNlci9sb2FkQXV0aERhdGEnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSPih1cmwsIHsgU1lTVEVNX1VTRVJfSUQ6IHRoaXMuYXV0aC50b2tlbj8uaWQgfSkucGlwZShcclxuICAgICAgICAgICAgdGFwKChqc29uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5jb2RlID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2NvdW50LnNldChqc29uLmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6I635b6X6LSm5Y+35Z+65pys5L+h5oGvXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge0lBY2NvdW50UHJvZmlsZX0g6L+U5Zue5b2T5YmN6LSm5Y+355qE5Z+65pys5L+h5oGv5a+56LGhXHJcbiAgICAgKi9cclxuICAgIGdldCB1c2VySW5mbygpOiBJQWNjb3VudFByb2ZpbGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjY291bnQuZ2V0KCkuVXNlckluZm87XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDojrflvpfotKblj7fkurrlkZjlupPmnYPpmZBcclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7SUF1dGhQZXJzb25uZWxQb29sfSDov5Tlm57lvZPliY3otKblj7fnmoTkurrlkZjlupPmnYPpmZDlr7nosaFcclxuICAgICAqL1xyXG4gICAgZ2V0IHBlcnNvbm5lbFBvb2woKTogSUF1dGhQZXJzb25uZWxQb29sIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY2NvdW50LmdldCgpLkF1dGhQZXJzb25uZWxQb29sO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6I635b6X6LSm5Y+35Lia5Yqh5p2D6ZmQXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge0lBdXRoV29ya2Zsb3d9IOi/lOWbnuW9k+WJjei0puWPt+eahOS4muWKoeadg+mZkOWvueixoVxyXG4gICAgICovXHJcbiAgICBnZXQgd29ya2Zsb3dBdXRoKCk6IElBdXRoV29ya2Zsb3cge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjY291bnQuZ2V0KCkuQXV0aFdmSWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDojrflvpfotKblj7fmnLrmnoTliIbnu4TmnYPpmZBcclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7QXJyYXk8SUF1dGhPcmdHcm91cD59IOi/lOWbnuW9k+WJjei0puWPt+eahOacuuaehOWIhue7hOadg+mZkOaVsOe7hFxyXG4gICAgICovXHJcbiAgICBnZXQgYXV0aE9yZ0dyb3VwKCk6IEFycmF5PElBdXRoT3JnR3JvdXA+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY2NvdW50LmdldCgpLkF1dGhPcmdHcm91cDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -12,20 +12,33 @@ export class AppConfig {
|
|
|
12
12
|
this.title = title;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* 异步加载配置数据
|
|
16
|
+
* 通过调用API端点获取系统参数,解析并应用这些参数
|
|
17
|
+
* 如果获取参数失败或参数不正确,则抛出错误
|
|
18
|
+
*
|
|
19
|
+
* @returns {Promise<WC>} 返回配置数据的Promise
|
|
16
20
|
*/
|
|
17
21
|
onLoad() {
|
|
18
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
// 定义API请求的URL,用于获取系统参数
|
|
19
24
|
const url = `api/gl-service-sys-core/v1/core/system/parameter/getOneByCode/${this.env.config.PROJECT_CONFIG_KEY}`;
|
|
25
|
+
// 发起API请求
|
|
20
26
|
const response = yield fetch(url);
|
|
27
|
+
// 解析JSON响应
|
|
21
28
|
const json = yield response.json();
|
|
29
|
+
// 检查响应码,如果不为0,则抛出错误
|
|
22
30
|
if (json.code !== 0) {
|
|
23
31
|
throw new Error(json.msg);
|
|
24
32
|
}
|
|
33
|
+
// 解析并处理配置数据
|
|
25
34
|
const config = json.data.SYSTEM_PARAMETER_VALUE && JSON.parse(json.data.SYSTEM_PARAMETER_VALUE);
|
|
35
|
+
// 将production字符串转换为布尔值
|
|
26
36
|
config.production = config.production === 'true';
|
|
37
|
+
// 将配置数据应用到应用配置中
|
|
27
38
|
AppConfig.settings = config;
|
|
39
|
+
// 设置项目标题
|
|
28
40
|
this.title.setTitle(config.insights.PROJECT_NAME);
|
|
41
|
+
// 返回配置数据
|
|
29
42
|
return config;
|
|
30
43
|
});
|
|
31
44
|
}
|
|
@@ -42,19 +55,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
42
55
|
args: [RK_ENVIRONMENT]
|
|
43
56
|
}] }, { type: i1.Title }]; } });
|
|
44
57
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
58
|
+
* 配置应用的提供者和初始化函数
|
|
59
|
+
*
|
|
60
|
+
* 此函数用于配置应用程序的提供者和服务初始化逻辑它通过依赖注入机制,
|
|
61
|
+
* 将环境配置和应用配置对象提供给应用,并在应用启动时执行一个加载函数
|
|
62
|
+
*
|
|
63
|
+
* @param environment 应用环境的配置对象,包含运行时的各种环境变量和配置
|
|
64
|
+
* @returns 返回一个包含提供者配置的数组,用于 AppModule 的提供者列表
|
|
47
65
|
*/
|
|
48
66
|
export function providerAppConfig(environment) {
|
|
49
67
|
return [
|
|
68
|
+
// 提供环境配置的提供者,将环境对象作为值提供给 RK_ENVIRONMENT 令牌
|
|
50
69
|
{ provide: RK_ENVIRONMENT, useValue: environment },
|
|
70
|
+
// 将 AppConfig 服务本身作为提供者
|
|
51
71
|
AppConfig,
|
|
72
|
+
// 配置 APP_INITIALIZER 提供者,使用工厂函数在应用启动时调用 appConfig 的 onLoad 方法
|
|
73
|
+
// 这允许在应用启动完成后执行一些初始化逻辑
|
|
52
74
|
{
|
|
53
75
|
provide: APP_INITIALIZER,
|
|
54
76
|
useFactory: (appConfig) => () => appConfig.onLoad(),
|
|
55
77
|
deps: [AppConfig],
|
|
56
|
-
multi: true,
|
|
78
|
+
multi: true, // 标记此初始化函数为多值,可以有多个初始化函数
|
|
57
79
|
},
|
|
58
80
|
];
|
|
59
81
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnJhcnkvY29yZS9zZXJ2aWNlcy9hcHAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJcEY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7QUFLaEUsTUFBTSxPQUFPLFNBQVM7SUFNbEIsWUFDb0MsR0FBUSxFQUNoQyxLQUFZO1FBRFksUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNoQyxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQ3JCLENBQUM7SUFFSjs7Ozs7O09BTUc7SUFDRyxNQUFNOztZQUNSLHVCQUF1QjtZQUN2QixNQUFNLEdBQUcsR0FBRyxpRUFBaUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNsSCxVQUFVO1lBQ1YsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsV0FBVztZQUNYLE1BQU0sSUFBSSxHQUFNLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLG9CQUFvQjtZQUNwQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM3QjtZQUNELFlBQVk7WUFDWixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQ2hHLHVCQUF1QjtZQUN2QixNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDO1lBQ2pELGdCQUFnQjtZQUNoQixTQUFTLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUM1QixTQUFTO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNsRCxTQUFTO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztLQUFBOzt1R0F2Q1EsU0FBUyxrQkFPTixjQUFjOzJHQVBqQixTQUFTLGNBRk4sTUFBTTs0RkFFVCxTQUFTO2tCQUhyQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBUVEsTUFBTTsyQkFBQyxjQUFjOztBQW1DOUI7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsV0FBZ0I7SUFDOUMsT0FBTztRQUNILDJDQUEyQztRQUMzQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtRQUNsRCx3QkFBd0I7UUFDeEIsU0FBUztRQUNULDhEQUE4RDtRQUM5RCx1QkFBdUI7UUFDdkI7WUFDSSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsQ0FBQyxTQUFvQixFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQzlELElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUNqQixLQUFLLEVBQUUsSUFBSSxFQUFFLHlCQUF5QjtTQUN6QztLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEVudiwgUiwgV0MgfSBmcm9tICdAcmVza2luL2NvcmUvZW50aXR5JztcclxuXHJcbi8qKlxyXG4gKiDpobnnm67njq/looPlj5jph4/phY3nva4gVG9rZW5cclxuICovXHJcbmV4cG9ydCBjb25zdCBSS19FTlZJUk9OTUVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbignZW52aXJvbm1lbnQnKTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcENvbmZpZyB7XHJcbiAgICAvKipcclxuICAgICAqIOmhueebrumFjee9rumhuVxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgc2V0dGluZ3M6IFdDO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoUktfRU5WSVJPTk1FTlQpIHByaXZhdGUgZW52OiBFbnYsXHJcbiAgICAgICAgcHJpdmF0ZSB0aXRsZTogVGl0bGUsXHJcbiAgICApIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlvILmraXliqDovb3phY3nva7mlbDmja5cclxuICAgICAqIOmAmui/h+iwg+eUqEFQSeerr+eCueiOt+WPluezu+e7n+WPguaVsO+8jOino+aekOW5tuW6lOeUqOi/meS6m+WPguaVsFxyXG4gICAgICog5aaC5p6c6I635Y+W5Y+C5pWw5aSx6LSl5oiW5Y+C5pWw5LiN5q2j56Gu77yM5YiZ5oqb5Ye66ZSZ6K+vXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge1Byb21pc2U8V0M+fSDov5Tlm57phY3nva7mlbDmja7nmoRQcm9taXNlXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIG9uTG9hZCgpOiBQcm9taXNlPFdDPiB7XHJcbiAgICAgICAgLy8g5a6a5LmJQVBJ6K+35rGC55qEVVJM77yM55So5LqO6I635Y+W57O757uf5Y+C5pWwXHJcbiAgICAgICAgY29uc3QgdXJsID0gYGFwaS9nbC1zZXJ2aWNlLXN5cy1jb3JlL3YxL2NvcmUvc3lzdGVtL3BhcmFtZXRlci9nZXRPbmVCeUNvZGUvJHt0aGlzLmVudi5jb25maWcuUFJPSkVDVF9DT05GSUdfS0VZfWA7XHJcbiAgICAgICAgLy8g5Y+R6LW3QVBJ6K+35rGCXHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpO1xyXG4gICAgICAgIC8vIOino+aekEpTT07lk43lupRcclxuICAgICAgICBjb25zdCBqc29uOiBSID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xyXG4gICAgICAgIC8vIOajgOafpeWTjeW6lOegge+8jOWmguaenOS4jeS4ujDvvIzliJnmipvlh7rplJnor69cclxuICAgICAgICBpZiAoanNvbi5jb2RlICE9PSAwKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihqc29uLm1zZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOino+aekOW5tuWkhOeQhumFjee9ruaVsOaNrlxyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IGpzb24uZGF0YS5TWVNURU1fUEFSQU1FVEVSX1ZBTFVFICYmIEpTT04ucGFyc2UoanNvbi5kYXRhLlNZU1RFTV9QQVJBTUVURVJfVkFMVUUpO1xyXG4gICAgICAgIC8vIOWwhnByb2R1Y3Rpb27lrZfnrKbkuLLovazmjaLkuLrluIPlsJTlgLxcclxuICAgICAgICBjb25maWcucHJvZHVjdGlvbiA9IGNvbmZpZy5wcm9kdWN0aW9uID09PSAndHJ1ZSc7XHJcbiAgICAgICAgLy8g5bCG6YWN572u5pWw5o2u5bqU55So5Yiw5bqU55So6YWN572u5LitXHJcbiAgICAgICAgQXBwQ29uZmlnLnNldHRpbmdzID0gY29uZmlnO1xyXG4gICAgICAgIC8vIOiuvue9rumhueebruagh+mimFxyXG4gICAgICAgIHRoaXMudGl0bGUuc2V0VGl0bGUoY29uZmlnLmluc2lnaHRzLlBST0pFQ1RfTkFNRSk7XHJcbiAgICAgICAgLy8g6L+U5Zue6YWN572u5pWw5o2uXHJcbiAgICAgICAgcmV0dXJuIGNvbmZpZztcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIOmFjee9ruW6lOeUqOeahOaPkOS+m+iAheWSjOWIneWni+WMluWHveaVsFxyXG4gKlxyXG4gKiDmraTlh73mlbDnlKjkuo7phY3nva7lupTnlKjnqIvluo/nmoTmj5DkvpvogIXlkozmnI3liqHliJ3lp4vljJbpgLvovpHlroPpgJrov4fkvp3otZbms6jlhaXmnLrliLbvvIxcclxuICog5bCG546v5aKD6YWN572u5ZKM5bqU55So6YWN572u5a+56LGh5o+Q5L6b57uZ5bqU55So77yM5bm25Zyo5bqU55So5ZCv5Yqo5pe25omn6KGM5LiA5Liq5Yqg6L295Ye95pWwXHJcbiAqXHJcbiAqIEBwYXJhbSBlbnZpcm9ubWVudCDlupTnlKjnjq/looPnmoTphY3nva7lr7nosaHvvIzljIXlkKvov5DooYzml7bnmoTlkITnp43njq/looPlj5jph4/lkozphY3nva5cclxuICogQHJldHVybnMg6L+U5Zue5LiA5Liq5YyF5ZCr5o+Q5L6b6ICF6YWN572u55qE5pWw57uE77yM55So5LqOIEFwcE1vZHVsZSDnmoTmj5DkvpvogIXliJfooahcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlckFwcENvbmZpZyhlbnZpcm9ubWVudDogRW52KSB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICAgIC8vIOaPkOS+m+eOr+Wig+mFjee9rueahOaPkOS+m+iAhe+8jOWwhueOr+Wig+WvueixoeS9nOS4uuWAvOaPkOS+m+e7mSBSS19FTlZJUk9OTUVOVCDku6TniYxcclxuICAgICAgICB7IHByb3ZpZGU6IFJLX0VOVklST05NRU5ULCB1c2VWYWx1ZTogZW52aXJvbm1lbnQgfSxcclxuICAgICAgICAvLyDlsIYgQXBwQ29uZmlnIOacjeWKoeacrOi6q+S9nOS4uuaPkOS+m+iAhVxyXG4gICAgICAgIEFwcENvbmZpZyxcclxuICAgICAgICAvLyDphY3nva4gQVBQX0lOSVRJQUxJWkVSIOaPkOS+m+iAhe+8jOS9v+eUqOW3peWOguWHveaVsOWcqOW6lOeUqOWQr+WKqOaXtuiwg+eUqCBhcHBDb25maWcg55qEIG9uTG9hZCDmlrnms5VcclxuICAgICAgICAvLyDov5nlhYHorrjlnKjlupTnlKjlkK/liqjlrozmiJDlkI7miafooYzkuIDkupvliJ3lp4vljJbpgLvovpFcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKGFwcENvbmZpZzogQXBwQ29uZmlnKSA9PiAoKSA9PiBhcHBDb25maWcub25Mb2FkKCksXHJcbiAgICAgICAgICAgIGRlcHM6IFtBcHBDb25maWddLCAvLyDmjIflrprkvp3otZYgQXBwQ29uZmlnIHNlcnZpY2VzXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLCAvLyDmoIforrDmraTliJ3lp4vljJblh73mlbDkuLrlpJrlgLzvvIzlj6/ku6XmnInlpJrkuKrliJ3lp4vljJblh73mlbBcclxuICAgICAgICB9LFxyXG4gICAgXTtcclxufVxyXG4iXX0=
|
|
@@ -5,24 +5,30 @@ import { Store } from '@reskin/core/utils';
|
|
|
5
5
|
import { RK_ENVIRONMENT } from './app.config';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/common/http";
|
|
8
|
+
// RkAuthService 提供了与用户认证相关的服务
|
|
8
9
|
export class RkAuthService {
|
|
10
|
+
// 构造函数,注入环境配置和HTTP客户端
|
|
9
11
|
constructor(env, http) {
|
|
10
12
|
this.env = env;
|
|
11
13
|
this.http = http;
|
|
14
|
+
// auth 存储认证信息
|
|
12
15
|
this.auth = new Store('auth', {});
|
|
13
16
|
}
|
|
14
17
|
/**
|
|
15
18
|
* 系统登录
|
|
16
19
|
* @param data 验证信息
|
|
17
|
-
* @returns
|
|
20
|
+
* @returns 登录结果
|
|
18
21
|
*/
|
|
19
22
|
onLogin(data) {
|
|
20
23
|
const url = 'api/gl-service-sys-user/v1/user/system/auth/login';
|
|
24
|
+
// 设置请求头,包含项目类型和无令牌控制信息
|
|
21
25
|
const headers = new HttpHeaders({
|
|
22
26
|
'ProjectNo': this.env.config.PROJECT_TYPE,
|
|
23
27
|
'Token-Control': 'no-token',
|
|
24
28
|
});
|
|
29
|
+
// 发送POST请求,并在成功后处理响应
|
|
25
30
|
return this.http.post(url, { data }, { headers }).pipe(tap((json) => {
|
|
31
|
+
// 如果代码为0,表示登录成功,存储认证信息
|
|
26
32
|
if (json.code === 0) {
|
|
27
33
|
this.auth.set(json.data);
|
|
28
34
|
}
|
|
@@ -33,12 +39,15 @@ export class RkAuthService {
|
|
|
33
39
|
*/
|
|
34
40
|
onLogout() {
|
|
35
41
|
const url = 'api/gl-service-sys-user/v1/user/system/auth/logoutByAuthId';
|
|
42
|
+
// 发送POST请求,使用当前的AUTH_ID进行注销
|
|
36
43
|
return this.http.post(url, { AUTH_ID: this.token.id });
|
|
37
44
|
}
|
|
38
45
|
/**
|
|
39
46
|
* 获得 token
|
|
47
|
+
* @returns 当前用户的认证信息
|
|
40
48
|
*/
|
|
41
49
|
get token() {
|
|
50
|
+
// 获取存储的认证信息
|
|
42
51
|
return this.auth.get();
|
|
43
52
|
}
|
|
44
53
|
}
|
|
@@ -53,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
53
62
|
type: Inject,
|
|
54
63
|
args: [RK_ENVIRONMENT]
|
|
55
64
|
}] }, { type: i1.HttpClient }]; } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHOUMsOEJBQThCO0FBSTlCLE1BQU0sT0FBTyxhQUFhO0lBSXRCLHNCQUFzQjtJQUN0QixZQUNvQyxHQUFRLEVBQ2hDLElBQWdCO1FBRFEsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNoQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBTjVCLGNBQWM7UUFDTixTQUFJLEdBQUcsSUFBSSxLQUFLLENBQVEsTUFBTSxFQUFTLEVBQUUsQ0FBQyxDQUFDO0lBTWhELENBQUM7SUFFSjs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLElBQVk7UUFDaEIsTUFBTSxHQUFHLEdBQUcsbURBQW1ELENBQUM7UUFDaEUsdUJBQXVCO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDO1lBQzVCLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ3pDLGVBQWUsRUFBRSxVQUFVO1NBQzlCLENBQUMsQ0FBQztRQUNILHFCQUFxQjtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3JELEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1QsdUJBQXVCO1lBQ3ZCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1QjtRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ0osTUFBTSxHQUFHLEdBQUcsNERBQTRELENBQUM7UUFDekUsNEJBQTRCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxLQUFLO1FBQ0wsWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDOzsyR0FqRFEsYUFBYSxrQkFNVixjQUFjOytHQU5qQixhQUFhLGNBRlYsTUFBTTs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBT1EsTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQHJlc2tpbi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgSUF1dGggfSBmcm9tICdAcmVza2luL2NvcmUvZW50aXR5L3VzZXInO1xyXG5pbXBvcnQgeyBSS19FTlZJUk9OTUVOVCB9IGZyb20gJy4vYXBwLmNvbmZpZyc7XHJcbmltcG9ydCB7IEVudiwgUiB9IGZyb20gJ0ByZXNraW4vY29yZS9lbnRpdHknO1xyXG5cclxuLy8gUmtBdXRoU2VydmljZSDmj5DkvpvkuobkuI7nlKjmiLforqTor4Hnm7jlhbPnmoTmnI3liqFcclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmtBdXRoU2VydmljZSB7XHJcbiAgICAvLyBhdXRoIOWtmOWCqOiupOivgeS/oeaBr1xyXG4gICAgcHJpdmF0ZSBhdXRoID0gbmV3IFN0b3JlPElBdXRoPignYXV0aCcsIDxJQXV0aD57fSk7XHJcblxyXG4gICAgLy8g5p6E6YCg5Ye95pWw77yM5rOo5YWl546v5aKD6YWN572u5ZKMSFRUUOWuouaIt+err1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChSS19FTlZJUk9OTUVOVCkgcHJpdmF0ZSBlbnY6IEVudixcclxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICApIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDns7vnu5/nmbvlvZVcclxuICAgICAqIEBwYXJhbSBkYXRhIOmqjOivgeS/oeaBr1xyXG4gICAgICogQHJldHVybnMg55m75b2V57uT5p6cXHJcbiAgICAgKi9cclxuICAgIG9uTG9naW4oZGF0YTogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2FwaS9nbC1zZXJ2aWNlLXN5cy11c2VyL3YxL3VzZXIvc3lzdGVtL2F1dGgvbG9naW4nO1xyXG4gICAgICAgIC8vIOiuvue9ruivt+axguWktO+8jOWMheWQq+mhueebruexu+Wei+WSjOaXoOS7pOeJjOaOp+WItuS/oeaBr1xyXG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICAgICAnUHJvamVjdE5vJzogdGhpcy5lbnYuY29uZmlnLlBST0pFQ1RfVFlQRSxcclxuICAgICAgICAgICAgJ1Rva2VuLUNvbnRyb2wnOiAnbm8tdG9rZW4nLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIOWPkemAgVBPU1Tor7fmsYLvvIzlubblnKjmiJDlip/lkI7lpITnkIblk43lupRcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Uj4odXJsLCB7IGRhdGEgfSwgeyBoZWFkZXJzIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCgoanNvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8g5aaC5p6c5Luj56CB5Li6MO+8jOihqOekuueZu+W9leaIkOWKn++8jOWtmOWCqOiupOivgeS/oeaBr1xyXG4gICAgICAgICAgICAgICAgaWYgKGpzb24uY29kZSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0aC5zZXQoanNvbi5kYXRhKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOazqOmUgOezu+e7n1xyXG4gICAgICovXHJcbiAgICBvbkxvZ291dCgpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnYXBpL2dsLXNlcnZpY2Utc3lzLXVzZXIvdjEvdXNlci9zeXN0ZW0vYXV0aC9sb2dvdXRCeUF1dGhJZCc7XHJcbiAgICAgICAgLy8g5Y+R6YCBUE9TVOivt+axgu+8jOS9v+eUqOW9k+WJjeeahEFVVEhfSUTov5vooYzms6jplIBcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Uj4odXJsLCB7IEFVVEhfSUQ6IHRoaXMudG9rZW4uaWQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDojrflvpcgdG9rZW5cclxuICAgICAqIEByZXR1cm5zIOW9k+WJjeeUqOaIt+eahOiupOivgeS/oeaBr1xyXG4gICAgICovXHJcbiAgICBnZXQgdG9rZW4oKTogSUF1dGgge1xyXG4gICAgICAgIC8vIOiOt+WPluWtmOWCqOeahOiupOivgeS/oeaBr1xyXG4gICAgICAgIHJldHVybiB0aGlzLmF1dGguZ2V0KCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -6,29 +6,42 @@ export class RkCacheHttpService {
|
|
|
6
6
|
this.cache = new Map();
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* 从缓存中获取指定URL的HTTP响应
|
|
10
|
+
*
|
|
11
|
+
* 此方法尝试从缓存中获取与指定URL相关的HTTP响应如果缓存中存在相应的响应,则返回该响应,否则返回未定义(undefined)
|
|
12
|
+
* 它避免了不必要的网络请求,从而提高应用的性能
|
|
13
|
+
*
|
|
14
|
+
* @param url 要从缓存中获取的资源的URL
|
|
15
|
+
* @returns 返回一个Observable对象,该对象发出未知类型的HTTP事件,或者在缓存中未找到时返回未定义
|
|
11
16
|
*/
|
|
12
17
|
get(url) {
|
|
13
18
|
return this.cache.get(url);
|
|
14
19
|
}
|
|
15
20
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
21
|
+
* 将HTTP响应缓存到指定的URL
|
|
22
|
+
*
|
|
23
|
+
* 此方法用于将给定的HTTP响应Observable对象与特定的URL关联,并存储在缓存中这样做的目的是为了在将来对同一URL的请求可以直接从缓存中获取响应,而不需要再次发送HTTP请求,从而提高应用的性能和响应速度
|
|
24
|
+
*
|
|
25
|
+
* @param url 要缓存响应的URL
|
|
26
|
+
* @param response HTTP响应的Observable对象,包含响应数据和状态
|
|
19
27
|
*/
|
|
20
28
|
set(url, response) {
|
|
21
29
|
this.cache.set(url, response);
|
|
22
30
|
}
|
|
23
31
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
32
|
+
* 删除指定的URL对应的缓存
|
|
33
|
+
*
|
|
34
|
+
* 本方法通过URL作为键,从缓存中删除对应的缓存项它使用了`cache.delete`方法来实现缓存的删除操作
|
|
35
|
+
*
|
|
36
|
+
* @param url {string} - 需要删除缓存的URL地址
|
|
26
37
|
*/
|
|
27
38
|
delete(url) {
|
|
28
39
|
this.cache.delete(url);
|
|
29
40
|
}
|
|
30
41
|
/**
|
|
31
|
-
*
|
|
42
|
+
* 清除缓存
|
|
43
|
+
*
|
|
44
|
+
* 该方法清空当前实例的缓存
|
|
32
45
|
*/
|
|
33
46
|
clear() {
|
|
34
47
|
this.cache.clear();
|
|
@@ -43,16 +56,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
43
56
|
}]
|
|
44
57
|
}] });
|
|
45
58
|
/**
|
|
46
|
-
*
|
|
59
|
+
* 生成带有缓存策略的HTTP请求模板
|
|
47
60
|
* 使用方法:http.get(...CacheHttpTemplate`api/response.json`)
|
|
48
|
-
*
|
|
49
|
-
*
|
|
61
|
+
*
|
|
62
|
+
* 该函数用于创建一个带有特定缓存策略的HTTP请求URL和相关头部信息它通过模板字符串和参数数组,
|
|
63
|
+
* 构建一个最终的URL,并自动添加一个名为'Cache-Map'的自定义头部,其值为'Storage'
|
|
64
|
+
*
|
|
65
|
+
* @param urls 模板字符串数组,通常用于构建URL的一部分
|
|
66
|
+
* @param params 任意数量的参数,用于与模板字符串一起构建最终的URL
|
|
67
|
+
* @returns 返回一个元组,第一个元素是构建好的URL字符串,第二个元素是一个对象,
|
|
68
|
+
* 包含了HTTP请求的头部信息,目前只包含一个自定义的'Cache-Map'头部
|
|
50
69
|
*/
|
|
51
70
|
export function CacheHttpTemplate(urls, ...params) {
|
|
71
|
+
// 初始化URL为模板字符串数组的第一个元素
|
|
52
72
|
let [url] = urls;
|
|
73
|
+
// 如果参数数组非空,则使用模板字符串和参数数组构建最终的URL
|
|
53
74
|
if (params.length > 0) {
|
|
54
75
|
url = String.raw(urls, ...params);
|
|
55
76
|
}
|
|
77
|
+
// 返回构建好的URL和带有缓存策略的头部信息
|
|
56
78
|
return [url, { headers: new HttpHeaders({ 'Cache-Map': 'Storage' }) }];
|
|
57
79
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2NhY2hlLmh0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFNOUQsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlZLFVBQUssR0FBZ0QsSUFBSSxHQUFHLEVBQTBDLENBQUM7S0E4Q2xIO0lBNUNHOzs7Ozs7OztPQVFHO0lBQ0gsR0FBRyxDQUFJLEdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsR0FBRyxDQUFJLEdBQVcsRUFBRSxRQUFrQztRQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxHQUFXO1FBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDOztnSEE5Q1Esa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGZixNQUFNOzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7O0FBa0REOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQTBCLEVBQUUsR0FBRyxNQUFhO0lBQzFFLHVCQUF1QjtJQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLGlDQUFpQztJQUNqQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ25CLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0tBQ3JDO0lBQ0Qsd0JBQXdCO0lBQ3hCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmtDYWNoZUh0dHBTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgY2FjaGU6IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+Pj4gPSBuZXcgTWFwPHN0cmluZywgT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+PigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog5LuO57yT5a2Y5Lit6I635Y+W5oyH5a6aVVJM55qESFRUUOWTjeW6lFxyXG4gICAgICpcclxuICAgICAqIOatpOaWueazleWwneivleS7jue8k+WtmOS4reiOt+WPluS4juaMh+WumlVSTOebuOWFs+eahEhUVFDlk43lupTlpoLmnpznvJPlrZjkuK3lrZjlnKjnm7jlupTnmoTlk43lupTvvIzliJnov5Tlm57or6Xlk43lupTvvIzlkKbliJnov5Tlm57mnKrlrprkuYnvvIh1bmRlZmluZWTvvIlcclxuICAgICAqIOWug+mBv+WFjeS6huS4jeW/heimgeeahOe9kee7nOivt+axgu+8jOS7juiAjOaPkOmrmOW6lOeUqOeahOaAp+iDvVxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB1cmwg6KaB5LuO57yT5a2Y5Lit6I635Y+W55qE6LWE5rqQ55qEVVJMXHJcbiAgICAgKiBAcmV0dXJucyDov5Tlm57kuIDkuKpPYnNlcnZhYmxl5a+56LGh77yM6K+l5a+56LGh5Y+R5Ye65pyq55+l57G75Z6L55qESFRUUOS6i+S7tu+8jOaIluiAheWcqOe8k+WtmOS4reacquaJvuWIsOaXtui/lOWbnuacquWumuS5iVxyXG4gICAgICovXHJcbiAgICBnZXQ8VD4odXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4gfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlLmdldCh1cmwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5bCGSFRUUOWTjeW6lOe8k+WtmOWIsOaMh+WumueahFVSTFxyXG4gICAgICpcclxuICAgICAqIOatpOaWueazleeUqOS6juWwhue7meWumueahEhUVFDlk43lupRPYnNlcnZhYmxl5a+56LGh5LiO54m55a6a55qEVVJM5YWz6IGU77yM5bm25a2Y5YKo5Zyo57yT5a2Y5Lit6L+Z5qC35YGa55qE55uu55qE5piv5Li65LqG5Zyo5bCG5p2l5a+55ZCM5LiAVVJM55qE6K+35rGC5Y+v5Lul55u05o6l5LuO57yT5a2Y5Lit6I635Y+W5ZON5bqU77yM6ICM5LiN6ZyA6KaB5YaN5qyh5Y+R6YCBSFRUUOivt+axgu+8jOS7juiAjOaPkOmrmOW6lOeUqOeahOaAp+iDveWSjOWTjeW6lOmAn+W6plxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB1cmwg6KaB57yT5a2Y5ZON5bqU55qEVVJMXHJcbiAgICAgKiBAcGFyYW0gcmVzcG9uc2UgSFRUUOWTjeW6lOeahE9ic2VydmFibGXlr7nosaHvvIzljIXlkKvlk43lupTmlbDmja7lkoznirbmgIFcclxuICAgICAqL1xyXG4gICAgc2V0PFQ+KHVybDogc3RyaW5nLCByZXNwb25zZTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8VD4+KSB7XHJcbiAgICAgICAgdGhpcy5jYWNoZS5zZXQodXJsLCByZXNwb25zZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliKDpmaTmjIflrprnmoRVUkzlr7nlupTnmoTnvJPlrZhcclxuICAgICAqXHJcbiAgICAgKiDmnKzmlrnms5XpgJrov4dVUkzkvZzkuLrplK7vvIzku47nvJPlrZjkuK3liKDpmaTlr7nlupTnmoTnvJPlrZjpobnlroPkvb/nlKjkuoZgY2FjaGUuZGVsZXRlYOaWueazleadpeWunueOsOe8k+WtmOeahOWIoOmZpOaTjeS9nFxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB1cmwge3N0cmluZ30gLSDpnIDopoHliKDpmaTnvJPlrZjnmoRVUkzlnLDlnYBcclxuICAgICAqL1xyXG4gICAgZGVsZXRlKHVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jYWNoZS5kZWxldGUodXJsKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOa4hemZpOe8k+WtmFxyXG4gICAgICpcclxuICAgICAqIOivpeaWueazlea4heepuuW9k+WJjeWunuS+i+eahOe8k+WtmFxyXG4gICAgICovXHJcbiAgICBjbGVhcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNhY2hlLmNsZWFyKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDnlJ/miJDluKbmnInnvJPlrZjnrZbnlaXnmoRIVFRQ6K+35rGC5qih5p2/XHJcbiAqIOS9v+eUqOaWueazle+8mmh0dHAuZ2V0KC4uLkNhY2hlSHR0cFRlbXBsYXRlYGFwaS9yZXNwb25zZS5qc29uYClcclxuICpcclxuICog6K+l5Ye95pWw55So5LqO5Yib5bu65LiA5Liq5bim5pyJ54m55a6a57yT5a2Y562W55Wl55qESFRUUOivt+axglVSTOWSjOebuOWFs+WktOmDqOS/oeaBr+Wug+mAmui/h+aooeadv+Wtl+espuS4suWSjOWPguaVsOaVsOe7hO+8jFxyXG4gKiDmnoTlu7rkuIDkuKrmnIDnu4jnmoRVUkzvvIzlubboh6rliqjmt7vliqDkuIDkuKrlkI3kuLonQ2FjaGUtTWFwJ+eahOiHquWumuS5ieWktOmDqO+8jOWFtuWAvOS4uidTdG9yYWdlJ1xyXG4gKlxyXG4gKiBAcGFyYW0gdXJscyDmqKHmnb/lrZfnrKbkuLLmlbDnu4TvvIzpgJrluLjnlKjkuo7mnoTlu7pVUkznmoTkuIDpg6jliIZcclxuICogQHBhcmFtIHBhcmFtcyDku7vmhI/mlbDph4/nmoTlj4LmlbDvvIznlKjkuo7kuI7mqKHmnb/lrZfnrKbkuLLkuIDotbfmnoTlu7rmnIDnu4jnmoRVUkxcclxuICogQHJldHVybnMg6L+U5Zue5LiA5Liq5YWD57uE77yM56ys5LiA5Liq5YWD57Sg5piv5p6E5bu65aW955qEVVJM5a2X56ym5Liy77yM56ys5LqM5Liq5YWD57Sg5piv5LiA5Liq5a+56LGh77yMXHJcbiAqIOWMheWQq+S6hkhUVFDor7fmsYLnmoTlpLTpg6jkv6Hmga/vvIznm67liY3lj6rljIXlkKvkuIDkuKroh6rlrprkuYnnmoQnQ2FjaGUtTWFwJ+WktOmDqFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIENhY2hlSHR0cFRlbXBsYXRlKHVybHM6IFRlbXBsYXRlU3RyaW5nc0FycmF5LCAuLi5wYXJhbXM6IGFueVtdKTogW3N0cmluZywgeyBoZWFkZXJzOiBIdHRwSGVhZGVycyB9XSB7XHJcbiAgICAvLyDliJ3lp4vljJZVUkzkuLrmqKHmnb/lrZfnrKbkuLLmlbDnu4TnmoTnrKzkuIDkuKrlhYPntKBcclxuICAgIGxldCBbdXJsXSA9IHVybHM7XHJcbiAgICAvLyDlpoLmnpzlj4LmlbDmlbDnu4TpnZ7nqbrvvIzliJnkvb/nlKjmqKHmnb/lrZfnrKbkuLLlkozlj4LmlbDmlbDnu4TmnoTlu7rmnIDnu4jnmoRVUkxcclxuICAgIGlmIChwYXJhbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHVybCA9IFN0cmluZy5yYXcodXJscywgLi4ucGFyYW1zKTtcclxuICAgIH1cclxuICAgIC8vIOi/lOWbnuaehOW7uuWlveeahFVSTOWSjOW4puaciee8k+WtmOetlueVpeeahOWktOmDqOS/oeaBr1xyXG4gICAgcmV0dXJuIFt1cmwsIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0NhY2hlLU1hcCc6ICdTdG9yYWdlJyB9KSB9XTtcclxufVxyXG4iXX0=
|
|
@@ -2,6 +2,15 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class RkDestroyService extends Subject {
|
|
5
|
+
/**
|
|
6
|
+
* 在组件销毁时调用的方法
|
|
7
|
+
*
|
|
8
|
+
* 该方法主要用于清理操作,确保在组件被销毁前完成所有的清理工作
|
|
9
|
+
* 首先,调用`this.next()`方法,用于发送一个通知或执行某些操作,以便在组件销毁前进行必要的处理
|
|
10
|
+
* 然后,调用`this.complete()`方法,表示已完成所有必要的清理操作,确保资源被正确释放
|
|
11
|
+
*
|
|
12
|
+
* @returns void - 该方法没有返回值
|
|
13
|
+
*/
|
|
5
14
|
ngOnDestroy() {
|
|
6
15
|
this.next();
|
|
7
16
|
this.complete();
|
|
@@ -12,4 +21,4 @@ RkDestroyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ver
|
|
|
12
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDestroyService, decorators: [{
|
|
13
22
|
type: Injectable
|
|
14
23
|
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2Rlc3Ryb3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxPQUFhO0lBQy9DOzs7Ozs7OztPQVFHO0lBQ0gsV0FBVztRQUNQLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDOzs4R0FiUSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFJrRGVzdHJveVNlcnZpY2UgZXh0ZW5kcyBTdWJqZWN0PHZvaWQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIC8qKlxyXG4gICAgICog5Zyo57uE5Lu26ZSA5q+B5pe26LCD55So55qE5pa55rOVXHJcbiAgICAgKlxyXG4gICAgICog6K+l5pa55rOV5Li76KaB55So5LqO5riF55CG5pON5L2c77yM56Gu5L+d5Zyo57uE5Lu26KKr6ZSA5q+B5YmN5a6M5oiQ5omA5pyJ55qE5riF55CG5bel5L2cXHJcbiAgICAgKiDpppblhYjvvIzosIPnlKhgdGhpcy5uZXh0KClg5pa55rOV77yM55So5LqO5Y+R6YCB5LiA5Liq6YCa55+l5oiW5omn6KGM5p+Q5Lqb5pON5L2c77yM5Lul5L6/5Zyo57uE5Lu26ZSA5q+B5YmN6L+b6KGM5b+F6KaB55qE5aSE55CGXHJcbiAgICAgKiDnhLblkI7vvIzosIPnlKhgdGhpcy5jb21wbGV0ZSgpYOaWueazle+8jOihqOekuuW3suWujOaIkOaJgOacieW/heimgeeahOa4heeQhuaTjeS9nO+8jOehruS/nei1hOa6kOiiq+ato+ehrumHiuaUvlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHZvaWQgLSDor6Xmlrnms5XmsqHmnInov5Tlm57lgLxcclxuICAgICAqL1xyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -4,15 +4,17 @@ import { CacheHttpTemplate } from './cache.http.service';
|
|
|
4
4
|
import { Store } from '@reskin/core/utils';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/common/http";
|
|
7
|
+
// 提供字典服务,用于管理和查询字典数据
|
|
7
8
|
export class RkDictionaryService {
|
|
8
9
|
constructor(http) {
|
|
9
10
|
this.http = http;
|
|
11
|
+
// 存储字典常用项的缓存,有效期为一周
|
|
10
12
|
this.useItems = new Store('dictionary_use_items', {}, { expires: 1000 * 60 * 60 * 24 * 7 });
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* 通过字典编码获得常用项
|
|
14
16
|
* @param code 字典编码
|
|
15
|
-
* @returns
|
|
17
|
+
* @returns 常用项数组
|
|
16
18
|
*/
|
|
17
19
|
getUseItems(code) {
|
|
18
20
|
return this.useItems.get()[code] || [];
|
|
@@ -20,20 +22,24 @@ export class RkDictionaryService {
|
|
|
20
22
|
/**
|
|
21
23
|
* 通过字典编码设置常用项
|
|
22
24
|
* @param code 字典编码
|
|
23
|
-
* @param item
|
|
25
|
+
* @param item 常用项对象
|
|
24
26
|
*/
|
|
25
27
|
setUseItems(code, item) {
|
|
26
28
|
const data = this.useItems.get();
|
|
29
|
+
// 如果字典编码不存在,则创建一个新数组
|
|
27
30
|
if (!data[code]) {
|
|
28
31
|
data[code] = [item];
|
|
29
32
|
}
|
|
30
33
|
else {
|
|
34
|
+
// 如果常用项已存在,则不进行重复添加
|
|
31
35
|
if (data[code].find((v) => v.DICTIONARY_ITEM_CODE === item.DICTIONARY_ITEM_CODE)) {
|
|
32
36
|
return;
|
|
33
37
|
}
|
|
38
|
+
// 如果常用项数组已满(超过9个),则移除最后一个元素
|
|
34
39
|
if (data[code].length > 9) {
|
|
35
40
|
data[code].pop();
|
|
36
41
|
}
|
|
42
|
+
// 将新的常用项添加到数组开头
|
|
37
43
|
data[code].unshift(item);
|
|
38
44
|
}
|
|
39
45
|
this.useItems.set(data);
|
|
@@ -41,39 +47,40 @@ export class RkDictionaryService {
|
|
|
41
47
|
/**
|
|
42
48
|
* 通过字典编码获得字典基本信息
|
|
43
49
|
* @param code 字典编码
|
|
44
|
-
* @returns
|
|
50
|
+
* @returns 字典基本信息的Observable对象
|
|
45
51
|
*/
|
|
46
52
|
getBaseInfo(code) {
|
|
47
53
|
const url = `api/gl-service-sys-core/v1/core/system/dictionary/selectOneByDictionaryCode`;
|
|
48
54
|
return this.http.get(...CacheHttpTemplate `${url}/${this.codeReplace(code)}`).pipe(filter((json) => json.code === 0), map((json) => json.data));
|
|
49
55
|
}
|
|
50
56
|
/**
|
|
51
|
-
*
|
|
57
|
+
* 通过字典编码获得字典项列表
|
|
52
58
|
* @param code 字典编码
|
|
53
|
-
* @returns
|
|
59
|
+
* @returns 字典项列表的Observable对象
|
|
54
60
|
*/
|
|
55
61
|
getData(code) {
|
|
56
62
|
const url = `api/gl-service-sys-core/v1/core/system/dictionary/item/selectListByDictionaryCode`;
|
|
57
63
|
return this.http.get(...CacheHttpTemplate `${url}/${this.codeReplace(code)}`).pipe(filter((json) => json.code === 0), map((json) => json.data));
|
|
58
64
|
}
|
|
59
65
|
/**
|
|
60
|
-
*
|
|
66
|
+
* 通过父节点获得字典项列表
|
|
61
67
|
* @param code 字典编码
|
|
62
|
-
* @param parentId
|
|
63
|
-
* @returns
|
|
68
|
+
* @param parentId 父节点编码,默认为根节点
|
|
69
|
+
* @returns 字典项列表的Observable对象
|
|
64
70
|
*/
|
|
65
71
|
getChildData(code, parentId = '-1') {
|
|
66
72
|
const url = `api/gl-service-sys-core/v1/core/system/dictionary/item/selectListByDictionaryCode`;
|
|
67
73
|
return this.http.post(url, { DICTIONARY_CODE: code, SYS_PARENT: parentId }).pipe(filter((json) => json.code === 0), map((json) => json.data));
|
|
68
74
|
}
|
|
75
|
+
// 私有方法,用于替换字典编码中的特殊字符
|
|
69
76
|
codeReplace(code) {
|
|
70
77
|
return code.replace(/\//g, '_');
|
|
71
78
|
}
|
|
72
79
|
/**
|
|
73
|
-
*
|
|
80
|
+
* 根据关键字搜索字典项
|
|
74
81
|
* @param code 字典编码
|
|
75
82
|
* @param keyword 关键字
|
|
76
|
-
* @returns
|
|
83
|
+
* @returns 最多10个匹配的字典项列表的Observable对象
|
|
77
84
|
*/
|
|
78
85
|
requestSearchData(code, keyword) {
|
|
79
86
|
const url = 'api/gl-service-sys-core/v1/core/system/dictionary/item/selectListByQuery';
|
|
@@ -86,10 +93,10 @@ export class RkDictionaryService {
|
|
|
86
93
|
}))));
|
|
87
94
|
}
|
|
88
95
|
/**
|
|
89
|
-
*
|
|
96
|
+
* 获取字典项的所有父节点
|
|
90
97
|
* @param code 字典编码
|
|
91
98
|
* @param id 字典项编码
|
|
92
|
-
* @returns
|
|
99
|
+
* @returns 父节点列表的Observable对象
|
|
93
100
|
*/
|
|
94
101
|
requestParentList(code, id) {
|
|
95
102
|
const url = 'api/gl-service-sys-core/v1/core/system/dictionary/item/selectListInfoAllParentByCode';
|
|
@@ -104,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
104
111
|
providedIn: 'root',
|
|
105
112
|
}]
|
|
106
113
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2RpY3Rpb25hcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUc1QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBb0Msc0JBQXNCLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTNGLENBQUM7SUFFeEM7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxJQUFZO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsSUFBWSxFQUFFLElBQXFCO1FBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBRTtnQkFDOUUsT0FBTzthQUNWO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ3BCO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLElBQVk7UUFDcEIsTUFBTSxHQUFHLEdBQUcsNkVBQTZFLENBQUM7UUFDMUYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxHQUFHLGlCQUFpQixDQUFBLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEYsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUNqQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDM0IsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLElBQVk7UUFDaEIsTUFBTSxHQUFHLEdBQUcsbUZBQW1GLENBQUM7UUFDaEcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxHQUFHLGlCQUFpQixDQUFBLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEYsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUNqQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDM0IsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxJQUFZLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDdEMsTUFBTSxHQUFHLEdBQUcsbUZBQW1GLENBQUM7UUFDaEcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxHQUFHLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDL0UsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUNqQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDM0IsQ0FBQztJQUNOLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBWTtRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFDLElBQVksRUFBRSxPQUFlO1FBQzNDLE1BQU0sR0FBRyxHQUFHLDBFQUEwRSxDQUFDO1FBQ3ZGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksR0FBRyxFQUFFLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDeEYsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUNqQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNULElBQUksQ0FBQyxJQUFJO2FBQ0osTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQzthQUNoRCxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDaEMsR0FBRyxFQUFFLElBQUksQ0FBQyx5QkFBeUI7WUFDbkMsS0FBSyxFQUFFLElBQUksQ0FBQyxvQkFBb0I7U0FDbkMsQ0FBQyxDQUFDLENBQ1YsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQUMsSUFBWSxFQUFFLEVBQVU7UUFDdEMsTUFBTSxHQUFHLEdBQUcsc0ZBQXNGLENBQUM7UUFDbkcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxHQUFHLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNuRixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQ2pDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUMzQixDQUFDO0lBQ04sQ0FBQzs7aUhBakhRLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07NEZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2FjaGVIdHRwVGVtcGxhdGUgfSBmcm9tICcuL2NhY2hlLmh0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IElEaWN0aW9uYXJ5QmFzZUluZm8sIElEaWN0aW9uYXJ5SXRlbSB9IGZyb20gJ0ByZXNraW4vY29yZS9lbnRpdHkvZGljdGlvbmFyeSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQHJlc2tpbi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgUiB9IGZyb20gJ0ByZXNraW4vY29yZS9lbnRpdHknO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmtEaWN0aW9uYXJ5U2VydmljZSB7XHJcbiAgICBwcml2YXRlIHVzZUl0ZW1zID0gbmV3IFN0b3JlPFJlY29yZDxzdHJpbmcsIElEaWN0aW9uYXJ5SXRlbVtdPj4oJ2RpY3Rpb25hcnlfdXNlX2l0ZW1zJywge30sIHsgZXhwaXJlczogMTAwMCAqIDYwICogNjAgKiAyNCAqIDcgfSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6YCa6L+H5a2X5YW457yW56CB6I635b6X5bi455So6aG5XHJcbiAgICAgKiBAcGFyYW0gY29kZSDlrZflhbjnvJbnoIFcclxuICAgICAqIEByZXR1cm5zIOW4uOeUqOmhuVxyXG4gICAgICovXHJcbiAgICBnZXRVc2VJdGVtcyhjb2RlOiBzdHJpbmcpOiBJRGljdGlvbmFyeUl0ZW1bXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlSXRlbXMuZ2V0KClbY29kZV0gfHwgW107XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDpgJrov4flrZflhbjnvJbnoIHorr7nva7luLjnlKjpoblcclxuICAgICAqIEBwYXJhbSBjb2RlIOWtl+WFuOe8lueggVxyXG4gICAgICogQHBhcmFtIGl0ZW0g5bi455So6aG5XHJcbiAgICAgKi9cclxuICAgIHNldFVzZUl0ZW1zKGNvZGU6IHN0cmluZywgaXRlbTogSURpY3Rpb25hcnlJdGVtKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMudXNlSXRlbXMuZ2V0KCk7XHJcbiAgICAgICAgaWYgKCFkYXRhW2NvZGVdKSB7XHJcbiAgICAgICAgICAgIGRhdGFbY29kZV0gPSBbaXRlbV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGRhdGFbY29kZV0uZmluZCgodikgPT4gdi5ESUNUSU9OQVJZX0lURU1fQ09ERSA9PT0gaXRlbS5ESUNUSU9OQVJZX0lURU1fQ09ERSkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZGF0YVtjb2RlXS5sZW5ndGggPiA5KSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhW2NvZGVdLnBvcCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRhdGFbY29kZV0udW5zaGlmdChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51c2VJdGVtcy5zZXQoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDpgJrov4flrZflhbjnvJbnoIHojrflvpflrZflhbjln7rmnKzkv6Hmga9cclxuICAgICAqIEBwYXJhbSBjb2RlIOWtl+WFuOe8lueggVxyXG4gICAgICogQHJldHVybnMg5a2X5YW45Z+65pys5L+h5oGvXHJcbiAgICAgKi9cclxuICAgIGdldEJhc2VJbmZvKGNvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8SURpY3Rpb25hcnlCYXNlSW5mbz4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGBhcGkvZ2wtc2VydmljZS1zeXMtY29yZS92MS9jb3JlL3N5c3RlbS9kaWN0aW9uYXJ5L3NlbGVjdE9uZUJ5RGljdGlvbmFyeUNvZGVgO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFI+KC4uLkNhY2hlSHR0cFRlbXBsYXRlYCR7dXJsfS8ke3RoaXMuY29kZVJlcGxhY2UoY29kZSl9YCkucGlwZShcclxuICAgICAgICAgICAgZmlsdGVyKChqc29uKSA9PiBqc29uLmNvZGUgPT09IDApLFxyXG4gICAgICAgICAgICBtYXAoKGpzb24pID0+IGpzb24uZGF0YSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOmAmui/h+Wtl+WFuOe8lueggeiOt+W+l+iOt+W+l+Wtl+WFuOmhuVxyXG4gICAgICogQHBhcmFtIGNvZGUg5a2X5YW457yW56CBXHJcbiAgICAgKiBAcmV0dXJucyDlrZflhbjpobnliJfooahcclxuICAgICAqL1xyXG4gICAgZ2V0RGF0YShjb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElEaWN0aW9uYXJ5SXRlbVtdPiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYGFwaS9nbC1zZXJ2aWNlLXN5cy1jb3JlL3YxL2NvcmUvc3lzdGVtL2RpY3Rpb25hcnkvaXRlbS9zZWxlY3RMaXN0QnlEaWN0aW9uYXJ5Q29kZWA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Uj4oLi4uQ2FjaGVIdHRwVGVtcGxhdGVgJHt1cmx9LyR7dGhpcy5jb2RlUmVwbGFjZShjb2RlKX1gKS5waXBlKFxyXG4gICAgICAgICAgICBmaWx0ZXIoKGpzb24pID0+IGpzb24uY29kZSA9PT0gMCksXHJcbiAgICAgICAgICAgIG1hcCgoanNvbikgPT4ganNvbi5kYXRhKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6YCa6L+H54i26IqC54K56I635b6X5a2X5YW46aG557yW56CBXHJcbiAgICAgKiBAcGFyYW0gY29kZSDlrZflhbjnvJbnoIFcclxuICAgICAqIEBwYXJhbSBwYXJlbnRJZCDniLboioLngrnnvJbnoIFcclxuICAgICAqIEByZXR1cm5zIOWtl+WFuOmhueWIl+ihqFxyXG4gICAgICovXHJcbiAgICBnZXRDaGlsZERhdGEoY29kZTogc3RyaW5nLCBwYXJlbnRJZCA9ICctMScpOiBPYnNlcnZhYmxlPElEaWN0aW9uYXJ5SXRlbVtdPiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYGFwaS9nbC1zZXJ2aWNlLXN5cy1jb3JlL3YxL2NvcmUvc3lzdGVtL2RpY3Rpb25hcnkvaXRlbS9zZWxlY3RMaXN0QnlEaWN0aW9uYXJ5Q29kZWA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFI+KHVybCwgeyBESUNUSU9OQVJZX0NPREU6IGNvZGUsIFNZU19QQVJFTlQ6IHBhcmVudElkIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcigoanNvbikgPT4ganNvbi5jb2RlID09PSAwKSxcclxuICAgICAgICAgICAgbWFwKChqc29uKSA9PiBqc29uLmRhdGEpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjb2RlUmVwbGFjZShjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBjb2RlLnJlcGxhY2UoL1xcLy9nLCAnXycpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6YCa6L+H5a2X5YW457yW56CB6I635b6X6I635b6X5a2X5YW46aG5XHJcbiAgICAgKiBAcGFyYW0gY29kZSDlrZflhbjnvJbnoIFcclxuICAgICAqIEBwYXJhbSBrZXl3b3JkIOWFs+mUruWtl1xyXG4gICAgICogQHJldHVybnMg5a2X5YW46aG55YiX6KGoXHJcbiAgICAgKi9cclxuICAgIHJlcXVlc3RTZWFyY2hEYXRhKGNvZGU6IHN0cmluZywga2V5d29yZDogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2FwaS9nbC1zZXJ2aWNlLXN5cy1jb3JlL3YxL2NvcmUvc3lzdGVtL2RpY3Rpb25hcnkvaXRlbS9zZWxlY3RMaXN0QnlRdWVyeSc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFI+KHVybCwgeyBESUNUSU9OQVJZX0NPREU6IGNvZGUsIERJQ1RJT05BUllfSVRFTV9OQU1FOiBrZXl3b3JkIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcigoanNvbikgPT4ganNvbi5jb2RlID09PSAwKSxcclxuICAgICAgICAgICAgbWFwKChqc29uKSA9PlxyXG4gICAgICAgICAgICAgICAganNvbi5kYXRhXHJcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiBpbmRleCA8IDEwKVxyXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGl0ZW0uRElDVElPTkFSWV9JVEVNX05BTUUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogaXRlbS5TWVNURU1fRElDVElPTkFSWV9JVEVNX0lELFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5ESUNUSU9OQVJZX0lURU1fQ09ERSxcclxuICAgICAgICAgICAgICAgICAgICB9KSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOiOt+W+l+Wtl+WFuOmhueeahOaJgOacieeItuiKgueCuVxyXG4gICAgICogQHBhcmFtIGNvZGUg5a2X5YW457yW56CBXHJcbiAgICAgKiBAcGFyYW0gaWQg5a2X5YW46aG557yW56CBXHJcbiAgICAgKiBAcmV0dXJucyDlrZflhbjpobnliJfooahcclxuICAgICAqL1xyXG4gICAgcmVxdWVzdFBhcmVudExpc3QoY29kZTogc3RyaW5nLCBpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJRGljdGlvbmFyeUl0ZW1bXT4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdhcGkvZ2wtc2VydmljZS1zeXMtY29yZS92MS9jb3JlL3N5c3RlbS9kaWN0aW9uYXJ5L2l0ZW0vc2VsZWN0TGlzdEluZm9BbGxQYXJlbnRCeUNvZGUnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSPih1cmwsIHsgRElDVElPTkFSWV9DT0RFOiBjb2RlLCBESUNUSU9OQVJZX0lURU1fQ09ERTogaWQgfSkucGlwZShcclxuICAgICAgICAgICAgZmlsdGVyKChqc29uKSA9PiBqc29uLmNvZGUgPT09IDApLFxyXG4gICAgICAgICAgICBtYXAoKGpzb24pID0+IGpzb24uZGF0YSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2RpY3Rpb25hcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFHM0MscUJBQXFCO0FBSXJCLE1BQU0sT0FBTyxtQkFBbUI7SUFJNUIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUhwQyxvQkFBb0I7UUFDWixhQUFRLEdBQUcsSUFBSSxLQUFLLENBQW9DLHNCQUFzQixFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUzRixDQUFDO0lBRXhDOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLElBQVksRUFBRSxJQUFxQjtRQUMzQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkI7YUFBTTtZ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LEVBQ2pDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1QsSUFBSSxDQUFDLElBQUk7YUFDSixNQUFNLENBQUMsQ0FBQyxJQUFTLEVBQUUsS0FBYSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2FBQ2hELEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUNoQyxHQUFHLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtZQUNuQyxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtTQUNuQyxDQUFDLENBQUMsQ0FDVixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsRUFBVTtRQUN0QyxNQUFNLEdBQUcsR0FBRyxzRkFBc0YsQ0FBQztRQUNuRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ25GLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsRUFDakMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQzNCLENBQUM7SUFDTixDQUFDOztpSEF2SFEsbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs0RkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDYWNoZUh0dHBUZW1wbGF0ZSB9IGZyb20gJy4vY2FjaGUuaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSURpY3Rpb25hcnlCYXNlSW5mbywgSURpY3Rpb25hcnlJdGVtIH0gZnJvbSAnQHJlc2tpbi9jb3JlL2VudGl0eS9kaWN0aW9uYXJ5JztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAcmVza2luL2NvcmUvdXRpbHMnO1xyXG5pbXBvcnQgeyBSIH0gZnJvbSAnQHJlc2tpbi9jb3JlL2VudGl0eSc7XHJcblxyXG4vLyDmj5DkvpvlrZflhbjmnI3liqHvvIznlKjkuo7nrqHnkIblkozmn6Xor6LlrZflhbjmlbDmja5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmtEaWN0aW9uYXJ5U2VydmljZSB7XHJcbiAgICAvLyDlrZjlgqjlrZflhbjluLjnlKjpobnnmoTnvJPlrZjvvIzmnInmlYjmnJ/kuLrkuIDlkahcclxuICAgIHByaXZhdGUgdXNlSXRlbXMgPSBuZXcgU3RvcmU8UmVjb3JkPHN0cmluZywgSURpY3Rpb25hcnlJdGVtW10+PignZGljdGlvbmFyeV91c2VfaXRlbXMnLCB7fSwgeyBleHBpcmVzOiAxMDAwICogNjAgKiA2MCAqIDI0ICogNyB9KTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDpgJrov4flrZflhbjnvJbnoIHojrflvpfluLjnlKjpoblcclxuICAgICAqIEBwYXJhbSBjb2RlIOWtl+WFuOe8lueggVxyXG4gICAgICogQHJldHVybnMg5bi455So6aG55pWw57uEXHJcbiAgICAgKi9cclxuICAgIGdldFVzZUl0ZW1zKGNvZGU6IHN0cmluZyk6IElEaWN0aW9uYXJ5SXRlbVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy51c2VJdGVtcy5nZXQoKVtjb2RlXSB8fCBbXTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOmAmui/h+Wtl+WFuOe8lueggeiuvue9ruW4uOeUqOmhuVxyXG4gICAgICogQHBhcmFtIGNvZGUg5a2X5YW457yW56CBXHJcbiAgICAgKiBAcGFyYW0gaXRlbSDluLjnlKjpobnlr7nosaFcclxuICAgICAqL1xyXG4gICAgc2V0VXNlSXRlbXMoY29kZTogc3RyaW5nLCBpdGVtOiBJRGljdGlvbmFyeUl0ZW0pIHtcclxuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy51c2VJdGVtcy5nZXQoKTtcclxuICAgICAgICAvLyDlpoLmnpzlrZflhbjnvJbnoIHkuI3lrZjlnKjvvIzliJnliJvlu7rkuIDkuKrmlrDmlbDnu4RcclxuICAgICAgICBpZiAoIWRhdGFbY29kZV0pIHtcclxuICAgICAgICAgICAgZGF0YVtjb2RlXSA9IFtpdGVtXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyDlpoLmnpzluLjnlKjpobnlt7LlrZjlnKjvvIzliJnkuI3ov5vooYzph43lpI3mt7vliqBcclxuICAgICAgICAgICAgaWYgKGRhdGFbY29kZV0uZmluZCgodikgPT4gdi5ESUNUSU9OQVJZX0lURU1fQ09ERSA9PT0gaXRlbS5ESUNUSU9OQVJZX0lURU1fQ09ERSkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyDlpoLmnpzluLjnlKjpobnmlbDnu4Tlt7Lmu6HvvIjotoXov4c55Liq77yJ77yM5YiZ56e76Zmk5pyA5ZCO5LiA5Liq5YWD57SgXHJcbiAgICAgICAgICAgIGlmIChkYXRhW2NvZGVdLmxlbmd0aCA+IDkpIHtcclxuICAgICAgICAgICAgICAgIGRhdGFbY29kZV0ucG9wKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8g5bCG5paw55qE5bi455So6aG55re75Yqg5Yiw5pWw57uE5byA5aS0XHJcbiAgICAgICAgICAgIGRhdGFbY29kZV0udW5zaGlmdChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51c2VJdGVtcy5zZXQoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDpgJrov4flrZflhbjnvJbnoIHojrflvpflrZflhbjln7rmnKzkv6Hmga9cclxuICAgICAqIEBwYXJhbSBjb2RlIOWtl+WFuOe8lueggVxyXG4gICAgICogQHJldHVybnMg5a2X5YW45Z+65pys5L+h5oGv55qET2JzZXJ2YWJsZeWvueixoVxyXG4gICAgICovXHJcbiAgICBnZXRCYXNlSW5mbyhjb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElEaWN0aW9uYXJ5QmFzZUluZm8+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgYXBpL2dsLXNlcnZpY2Utc3lzLWNvcmUvdjEvY29yZS9zeXN0ZW0vZGljdGlvbmFyeS9zZWxlY3RPbmVCeURpY3Rpb25hcnlDb2RlYDtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSPiguLi5DYWNoZUh0dHBUZW1wbGF0ZWAke3VybH0vJHt0aGlzLmNvZGVSZXBsYWNlKGNvZGUpfWApLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcigoanNvbikgPT4ganNvbi5jb2RlID09PSAwKSxcclxuICAgICAgICAgICAgbWFwKChqc29uKSA9PiBqc29uLmRhdGEpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDpgJrov4flrZflhbjnvJbnoIHojrflvpflrZflhbjpobnliJfooahcclxuICAgICAqIEBwYXJhbSBjb2RlIOWtl+WFuOe8lueggVxyXG4gICAgICogQHJldHVybnMg5a2X5YW46aG55YiX6KGo55qET2JzZXJ2YWJsZeWvueixoVxyXG4gICAgICovXHJcbiAgICBnZXREYXRhKGNvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8SURpY3Rpb25hcnlJdGVtW10+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgYXBpL2dsLXNlcnZpY2Utc3lzLWNvcmUvdjEvY29yZS9zeXN0ZW0vZGljdGlvbmFyeS9pdGVtL3NlbGVjdExpc3RCeURpY3Rpb25hcnlDb2RlYDtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSPiguLi5DYWNoZUh0dHBUZW1wbGF0ZWAke3VybH0vJHt0aGlzLmNvZGVSZXBsYWNlKGNvZGUpfWApLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcigoanNvbikgPT4ganNvbi5jb2RlID09PSAwKSxcclxuICAgICAgICAgICAgbWFwKChqc29uKSA9PiBqc29uLmRhdGEpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDpgJrov4fniLboioLngrnojrflvpflrZflhbjpobnliJfooahcclxuICAgICAqIEBwYXJhbSBjb2RlIOWtl+WFuOe8lueggVxyXG4gICAgICogQHBhcmFtIHBhcmVudElkIOeItuiKgueCuee8luegge+8jOm7mOiupOS4uuagueiKgueCuVxyXG4gICAgICogQHJldHVybnMg5a2X5YW46aG55YiX6KGo55qET2JzZXJ2YWJsZeWvueixoVxyXG4gICAgICovXHJcbiAgICBnZXRDaGlsZERhdGEoY29kZTogc3RyaW5nLCBwYXJlbnRJZCA9ICctMScpOiBPYnNlcnZhYmxlPElEaWN0aW9uYXJ5SXRlbVtdPiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYGFwaS9nbC1zZXJ2aWNlLXN5cy1jb3JlL3YxL2NvcmUvc3lzdGVtL2RpY3Rpb25hcnkvaXRlbS9zZWxlY3RMaXN0QnlEaWN0aW9uYXJ5Q29kZWA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFI+KHVybCwgeyBESUNUSU9OQVJZX0NPREU6IGNvZGUsIFNZU19QQVJFTlQ6IHBhcmVudElkIH0pLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcigoanNvbikgPT4ganNvbi5jb2RlID09PSAwKSxcclxuICAgICAgICAgICAgbWFwKChqc29uKSA9PiBqc29uLmRhdGEpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8g56eB5pyJ5pa55rOV77yM55So5LqO5pu/5o2i5a2X5YW457yW56CB5Lit55qE54m55q6K5a2X56ymXHJcbiAgICBwcml2YXRlIGNvZGVSZXBsYWNlKGNvZGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGNvZGUucmVwbGFjZSgvXFwvL2csICdfJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDmoLnmja7lhbPplK7lrZfmkJzntKLlrZflhbjpoblcclxuICAgICAqIEBwYXJhbSBjb2RlIOWtl+WFuOe8lueggVxyXG4gICAgICogQHBhcmFtIGtleXdvcmQg5YWz6ZSu5a2XXHJcbiAgICAgKiBAcmV0dXJucyDmnIDlpJoxMOS4quWMuemFjeeahOWtl+WFuOmhueWIl+ihqOeahE9ic2VydmFibGXlr7nosaFcclxuICAgICAqL1xyXG4gICAgcmVxdWVzdFNlYXJjaERhdGEoY29kZTogc3RyaW5nLCBrZXl3b3JkOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnYXBpL2dsLXNlcnZpY2Utc3lzLWNvcmUvdjEvY29yZS9zeXN0ZW0vZGljdGlvbmFyeS9pdGVtL3NlbGVjdExpc3RCeVF1ZXJ5JztcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Uj4odXJsLCB7IERJQ1RJT05BUllfQ09ERTogY29kZSwgRElDVElPTkFSWV9JVEVNX05BTUU6IGtleXdvcmQgfSkucGlwZShcclxuICAgICAgICAgICAgZmlsdGVyKChqc29uKSA9PiBqc29uLmNvZGUgPT09IDApLFxyXG4gICAgICAgICAgICBtYXAoKGpzb24pID0+XHJcbiAgICAgICAgICAgICAgICBqc29uLmRhdGFcclxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IGluZGV4IDwgMTApXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogaXRlbS5ESUNUSU9OQVJZX0lURU1fTkFNRSxcclxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBpdGVtLlNZU1RFTV9ESUNUSU9OQVJZX0lURU1fSUQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLkRJQ1RJT05BUllfSVRFTV9DT0RFLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6I635Y+W5a2X5YW46aG555qE5omA5pyJ54i26IqC54K5XHJcbiAgICAgKiBAcGFyYW0gY29kZSDlrZflhbjnvJbnoIFcclxuICAgICAqIEBwYXJhbSBpZCDlrZflhbjpobnnvJbnoIFcclxuICAgICAqIEByZXR1cm5zIOeItuiKgueCueWIl+ihqOeahE9ic2VydmFibGXlr7nosaFcclxuICAgICAqL1xyXG4gICAgcmVxdWVzdFBhcmVudExpc3QoY29kZTogc3RyaW5nLCBpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJRGljdGlvbmFyeUl0ZW1bXT4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdhcGkvZ2wtc2VydmljZS1zeXMtY29yZS92MS9jb3JlL3N5c3RlbS9kaWN0aW9uYXJ5L2l0ZW0vc2VsZWN0TGlzdEluZm9BbGxQYXJlbnRCeUNvZGUnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSPih1cmwsIHsgRElDVElPTkFSWV9DT0RFOiBjb2RlLCBESUNUSU9OQVJZX0lURU1fQ09ERTogaWQgfSkucGlwZShcclxuICAgICAgICAgICAgZmlsdGVyKChqc29uKSA9PiBqc29uLmNvZGUgPT09IDApLFxyXG4gICAgICAgICAgICBtYXAoKGpzb24pID0+IGpzb24uZGF0YSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|