@reskin/core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/bundles/reskin-core-classes.umd.js +48 -0
- package/bundles/reskin-core-classes.umd.js.map +1 -0
- package/bundles/reskin-core-directives.umd.js +147 -0
- package/bundles/reskin-core-directives.umd.js.map +1 -0
- package/bundles/reskin-core-entity-dictionary.umd.js +11 -0
- package/bundles/reskin-core-entity-dictionary.umd.js.map +1 -0
- package/bundles/reskin-core-entity-field.umd.js +49 -0
- package/bundles/reskin-core-entity-field.umd.js.map +1 -0
- package/bundles/reskin-core-entity-file.umd.js +11 -0
- package/bundles/reskin-core-entity-file.umd.js.map +1 -0
- package/bundles/reskin-core-entity-menu.umd.js +40 -0
- package/bundles/reskin-core-entity-menu.umd.js.map +1 -0
- package/bundles/reskin-core-entity-org.umd.js +50 -0
- package/bundles/reskin-core-entity-org.umd.js.map +1 -0
- package/bundles/reskin-core-entity-scheme.umd.js +63 -0
- package/bundles/reskin-core-entity-scheme.umd.js.map +1 -0
- package/bundles/reskin-core-entity-user.umd.js +11 -0
- package/bundles/reskin-core-entity-user.umd.js.map +1 -0
- package/bundles/reskin-core-entity.umd.js +11 -0
- package/bundles/reskin-core-entity.umd.js.map +1 -0
- package/bundles/reskin-core-guards.umd.js +89 -0
- package/bundles/reskin-core-guards.umd.js.map +1 -0
- package/bundles/reskin-core-interceptors.umd.js +702 -0
- package/bundles/reskin-core-interceptors.umd.js.map +1 -0
- package/bundles/reskin-core-services.umd.js +1188 -0
- package/bundles/reskin-core-services.umd.js.map +1 -0
- package/bundles/reskin-core-utils.umd.js +130 -0
- package/bundles/reskin-core-utils.umd.js.map +1 -0
- package/bundles/reskin-core.umd.js +13 -0
- package/bundles/reskin-core.umd.js.map +1 -0
- package/classes/package.json +10 -0
- package/classes/public-api.d.ts +1 -0
- package/classes/reskin-core-classes.d.ts +5 -0
- package/classes/table.helper.d.ts +23 -0
- package/directives/auth.directive.d.ts +27 -0
- package/directives/directives.module.d.ts +7 -0
- package/directives/package.json +10 -0
- package/directives/public-api.d.ts +2 -0
- package/directives/reskin-core-directives.d.ts +5 -0
- package/entity/Env.d.ts +66 -0
- package/entity/IPage.d.ts +35 -0
- package/entity/R.d.ts +25 -0
- package/entity/WC.d.ts +51 -0
- package/entity/dictionary/IDictionaryBaseInfo.d.ts +29 -0
- package/entity/dictionary/IDictionaryItem.d.ts +50 -0
- package/entity/dictionary/package.json +10 -0
- package/entity/dictionary/public-api.d.ts +2 -0
- package/entity/dictionary/reskin-core-entity-dictionary.d.ts +5 -0
- package/entity/field/ColumnTypeEnum.d.ts +33 -0
- package/entity/field/ITableField.d.ts +27 -0
- package/entity/field/package.json +10 -0
- package/entity/field/public-api.d.ts +2 -0
- package/entity/field/reskin-core-entity-field.d.ts +5 -0
- package/entity/file/IUploadFileData.d.ts +25 -0
- package/entity/file/package.json +10 -0
- package/entity/file/public-api.d.ts +1 -0
- package/entity/file/reskin-core-entity-file.d.ts +5 -0
- package/entity/menu/IMenu.d.ts +57 -0
- package/entity/menu/MenuTypeEnum.d.ts +24 -0
- package/entity/menu/package.json +10 -0
- package/entity/menu/public-api.d.ts +2 -0
- package/entity/menu/reskin-core-entity-menu.d.ts +5 -0
- package/entity/org/IOrgTreeNode.d.ts +58 -0
- package/entity/org/OrgTypeEnum.d.ts +31 -0
- package/entity/org/package.json +10 -0
- package/entity/org/public-api.d.ts +2 -0
- package/entity/org/reskin-core-entity-org.d.ts +5 -0
- package/entity/package.json +10 -0
- package/entity/public-api.d.ts +4 -0
- package/entity/reskin-core-entity.d.ts +5 -0
- package/entity/scheme/IFieldScheme.d.ts +97 -0
- package/entity/scheme/IScheme.d.ts +200 -0
- package/entity/scheme/SchemeEditTypeEnum.d.ts +25 -0
- package/entity/scheme/package.json +10 -0
- package/entity/scheme/public-api.d.ts +3 -0
- package/entity/scheme/reskin-core-entity-scheme.d.ts +5 -0
- package/entity/user/IAuth.d.ts +13 -0
- package/entity/user/IAuthAccount.d.ts +126 -0
- package/entity/user/package.json +10 -0
- package/entity/user/public-api.d.ts +2 -0
- package/entity/user/reskin-core-entity-user.d.ts +5 -0
- package/esm2015/classes/public-api.js +2 -0
- package/esm2015/classes/reskin-core-classes.js +5 -0
- package/esm2015/classes/table.helper.js +32 -0
- package/esm2015/directives/auth.directive.js +83 -0
- package/esm2015/directives/directives.module.js +16 -0
- package/esm2015/directives/public-api.js +3 -0
- package/esm2015/directives/reskin-core-directives.js +5 -0
- package/esm2015/entity/Env.js +2 -0
- package/esm2015/entity/IPage.js +2 -0
- package/esm2015/entity/R.js +2 -0
- package/esm2015/entity/WC.js +2 -0
- package/esm2015/entity/dictionary/IDictionaryBaseInfo.js +2 -0
- package/esm2015/entity/dictionary/IDictionaryItem.js +2 -0
- package/esm2015/entity/dictionary/public-api.js +3 -0
- package/esm2015/entity/dictionary/reskin-core-entity-dictionary.js +5 -0
- package/esm2015/entity/field/ColumnTypeEnum.js +35 -0
- package/esm2015/entity/field/ITableField.js +2 -0
- package/esm2015/entity/field/public-api.js +3 -0
- package/esm2015/entity/field/reskin-core-entity-field.js +5 -0
- package/esm2015/entity/file/IUploadFileData.js +2 -0
- package/esm2015/entity/file/public-api.js +2 -0
- package/esm2015/entity/file/reskin-core-entity-file.js +5 -0
- package/esm2015/entity/menu/IMenu.js +2 -0
- package/esm2015/entity/menu/MenuTypeEnum.js +26 -0
- package/esm2015/entity/menu/public-api.js +3 -0
- package/esm2015/entity/menu/reskin-core-entity-menu.js +5 -0
- package/esm2015/entity/org/IOrgTreeNode.js +2 -0
- package/esm2015/entity/org/OrgTypeEnum.js +33 -0
- package/esm2015/entity/org/public-api.js +3 -0
- package/esm2015/entity/org/reskin-core-entity-org.js +5 -0
- package/esm2015/entity/public-api.js +5 -0
- package/esm2015/entity/reskin-core-entity.js +5 -0
- package/esm2015/entity/scheme/IFieldScheme.js +2 -0
- package/esm2015/entity/scheme/IScheme.js +22 -0
- package/esm2015/entity/scheme/SchemeEditTypeEnum.js +27 -0
- package/esm2015/entity/scheme/public-api.js +4 -0
- package/esm2015/entity/scheme/reskin-core-entity-scheme.js +5 -0
- package/esm2015/entity/user/IAuth.js +2 -0
- package/esm2015/entity/user/IAuthAccount.js +2 -0
- package/esm2015/entity/user/public-api.js +3 -0
- package/esm2015/entity/user/reskin-core-entity-user.js +5 -0
- package/esm2015/guards/auth.guard.js +53 -0
- package/esm2015/guards/public-api.js +2 -0
- package/esm2015/guards/reskin-core-guards.js +5 -0
- package/esm2015/interceptors/blob.interceptor.js +66 -0
- package/esm2015/interceptors/cache.interceptor.js +36 -0
- package/esm2015/interceptors/error.interceptor.js +35 -0
- package/esm2015/interceptors/public-api.js +5 -0
- package/esm2015/interceptors/reskin-core-interceptors.js +5 -0
- package/esm2015/interceptors/token.interceptor.js +48 -0
- package/esm2015/public-api.js +2 -0
- package/esm2015/reskin-core.js +5 -0
- package/esm2015/services/account.service.js +58 -0
- package/esm2015/services/app.config.js +60 -0
- package/esm2015/services/auth.service.js +56 -0
- package/esm2015/services/cache.http.service.js +58 -0
- package/esm2015/services/destroy.service.js +15 -0
- package/esm2015/services/dictionary.service.js +107 -0
- package/esm2015/services/down.file.service.js +79 -0
- package/esm2015/services/field.scheme.service.js +37 -0
- package/esm2015/services/file.service.js +57 -0
- package/esm2015/services/menu.service.js +36 -0
- package/esm2015/services/org.service.js +46 -0
- package/esm2015/services/public-api.js +13 -0
- package/esm2015/services/reskin-core-services.js +5 -0
- package/esm2015/services/scheme.service.js +37 -0
- package/esm2015/utils/array.js +29 -0
- package/esm2015/utils/dom.js +18 -0
- package/esm2015/utils/public-api.js +4 -0
- package/esm2015/utils/reskin-core-utils.js +5 -0
- package/esm2015/utils/store.js +64 -0
- package/fesm2015/reskin-core-classes.js +39 -0
- package/fesm2015/reskin-core-classes.js.map +1 -0
- package/fesm2015/reskin-core-directives.js +103 -0
- package/fesm2015/reskin-core-directives.js.map +1 -0
- package/fesm2015/reskin-core-entity-dictionary.js +4 -0
- package/fesm2015/reskin-core-entity-dictionary.js.map +1 -0
- package/fesm2015/reskin-core-entity-field.js +41 -0
- package/fesm2015/reskin-core-entity-field.js.map +1 -0
- package/fesm2015/reskin-core-entity-file.js +4 -0
- package/fesm2015/reskin-core-entity-file.js.map +1 -0
- package/fesm2015/reskin-core-entity-menu.js +32 -0
- package/fesm2015/reskin-core-entity-menu.js.map +1 -0
- package/fesm2015/reskin-core-entity-org.js +39 -0
- package/fesm2015/reskin-core-entity-org.js.map +1 -0
- package/fesm2015/reskin-core-entity-scheme.js +55 -0
- package/fesm2015/reskin-core-entity-scheme.js.map +1 -0
- package/fesm2015/reskin-core-entity-user.js +4 -0
- package/fesm2015/reskin-core-entity-user.js.map +1 -0
- package/fesm2015/reskin-core-entity.js +4 -0
- package/fesm2015/reskin-core-entity.js.map +1 -0
- package/fesm2015/reskin-core-guards.js +60 -0
- package/fesm2015/reskin-core-guards.js.map +1 -0
- package/fesm2015/reskin-core-interceptors.js +179 -0
- package/fesm2015/reskin-core-interceptors.js.map +1 -0
- package/fesm2015/reskin-core-services.js +605 -0
- package/fesm2015/reskin-core-services.js.map +1 -0
- package/fesm2015/reskin-core-utils.js +118 -0
- package/fesm2015/reskin-core-utils.js.map +1 -0
- package/fesm2015/reskin-core.js +6 -0
- package/fesm2015/reskin-core.js.map +1 -0
- package/guards/auth.guard.d.ts +15 -0
- package/guards/package.json +10 -0
- package/guards/public-api.d.ts +1 -0
- package/guards/reskin-core-guards.d.ts +5 -0
- package/interceptors/blob.interceptor.d.ts +20 -0
- package/interceptors/cache.interceptor.d.ts +19 -0
- package/interceptors/error.interceptor.d.ts +19 -0
- package/interceptors/package.json +10 -0
- package/interceptors/public-api.d.ts +4 -0
- package/interceptors/reskin-core-interceptors.d.ts +5 -0
- package/interceptors/token.interceptor.d.ts +28 -0
- package/package.json +22 -0
- package/public-api.d.ts +2 -0
- package/reskin-core.d.ts +5 -0
- package/services/account.service.d.ts +33 -0
- package/services/app.config.d.ts +40 -0
- package/services/auth.service.d.ts +26 -0
- package/services/cache.http.service.d.ts +37 -0
- package/services/destroy.service.d.ts +8 -0
- package/services/dictionary.service.d.ts +57 -0
- package/services/down.file.service.d.ts +29 -0
- package/services/field.scheme.service.d.ts +17 -0
- package/services/file.service.d.ts +33 -0
- package/services/menu.service.d.ts +16 -0
- package/services/org.service.d.ts +31 -0
- package/services/package.json +10 -0
- package/services/public-api.d.ts +12 -0
- package/services/reskin-core-services.d.ts +5 -0
- package/services/scheme.service.d.ts +17 -0
- package/utils/array.d.ts +5 -0
- package/utils/dom.d.ts +6 -0
- package/utils/package.json +10 -0
- package/utils/public-api.d.ts +3 -0
- package/utils/reskin-core-utils.d.ts +5 -0
- package/utils/store.d.ts +42 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HTTP_INTERCEPTORS, HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@reskin/core/services";
|
|
5
|
+
export class TokenInterceptor {
|
|
6
|
+
constructor(service) {
|
|
7
|
+
this.service = service;
|
|
8
|
+
}
|
|
9
|
+
intercept(request, next) {
|
|
10
|
+
const tc = request.headers.get('Token-Control');
|
|
11
|
+
const auth = this.service.token;
|
|
12
|
+
// 当 header 中 Token-Control 为 no-token 时不携带 token
|
|
13
|
+
if (tc !== 'no-token' && auth.token) {
|
|
14
|
+
request = request.clone({
|
|
15
|
+
setHeaders: {
|
|
16
|
+
'Authorization': auth.token,
|
|
17
|
+
'X-Auth-Id': auth.id,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return next.handle(request);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
TokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TokenInterceptor, deps: [{ token: i1.RkAuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
TokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TokenInterceptor });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TokenInterceptor, decorators: [{
|
|
27
|
+
type: Injectable
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.RkAuthService }]; } });
|
|
29
|
+
/**
|
|
30
|
+
* 请求头增加token验证拦截器
|
|
31
|
+
*/
|
|
32
|
+
export function providerAuthToken() {
|
|
33
|
+
return { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true };
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 不带token验证信息请求
|
|
37
|
+
* @param urls 地址
|
|
38
|
+
* @param params 参数
|
|
39
|
+
* @constructor
|
|
40
|
+
*/
|
|
41
|
+
export function NoAuthTokenTemplate(urls, ...params) {
|
|
42
|
+
let [url] = urls;
|
|
43
|
+
if (params.length > 0) {
|
|
44
|
+
url = String.raw(urls, ...params);
|
|
45
|
+
}
|
|
46
|
+
return [url, { headers: new HttpHeaders({ 'Token-Control': 'no-token' }) }];
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvaW50ZXJjZXB0b3JzL3Rva2VuLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF3RCxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTTVILE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsWUFBb0IsT0FBc0I7UUFBdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtJQUFHLENBQUM7SUFFOUMsU0FBUyxDQUFDLE9BQTZCLEVBQUUsSUFBaUI7UUFDdEQsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQVUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDdkMsaURBQWlEO1FBQ2pELElBQUksRUFBRSxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2pDLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUNwQixVQUFVLEVBQUU7b0JBQ1IsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLO29CQUMzQixXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUU7aUJBQ3ZCO2FBQ0osQ0FBQyxDQUFDO1NBQ047UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7OEdBaEJRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7O0FBb0JYOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQjtJQUM3QixPQUFPLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDbkYsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQTBCLEVBQUUsR0FBRyxNQUFhO0lBQzVFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDakIsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNuQixHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztLQUNyQztJQUNELE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDaEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3QsIEh0dHBIYW5kbGVyLCBIdHRwRXZlbnQsIEh0dHBJbnRlcmNlcHRvciwgSFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJrQXV0aFNlcnZpY2UgfSBmcm9tICdAcmVza2luL2NvcmUvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJQXV0aCB9IGZyb20gJ0ByZXNraW4vY29yZS9lbnRpdHkvdXNlcic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUb2tlbkludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogUmtBdXRoU2VydmljZSkge31cclxuXHJcbiAgICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcclxuICAgICAgICBjb25zdCB0YyA9IHJlcXVlc3QuaGVhZGVycy5nZXQoJ1Rva2VuLUNvbnRyb2wnKTtcclxuICAgICAgICBjb25zdCBhdXRoOiBJQXV0aCA9IHRoaXMuc2VydmljZS50b2tlbjtcclxuICAgICAgICAvLyDlvZMgaGVhZGVyIOS4rSBUb2tlbi1Db250cm9sIOS4uiBuby10b2tlbiDml7bkuI3mkLrluKYgdG9rZW5cclxuICAgICAgICBpZiAodGMgIT09ICduby10b2tlbicgJiYgYXV0aC50b2tlbikge1xyXG4gICAgICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgICAgICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBhdXRoLnRva2VuLFxyXG4gICAgICAgICAgICAgICAgICAgICdYLUF1dGgtSWQnOiBhdXRoLmlkLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIOivt+axguWktOWinuWKoHRva2Vu6aqM6K+B5oum5oiq5ZmoXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZXJBdXRoVG9rZW4oKSB7XHJcbiAgICByZXR1cm4geyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IFRva2VuSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDkuI3luKZ0b2tlbumqjOivgeS/oeaBr+ivt+axglxyXG4gKiBAcGFyYW0gdXJscyDlnLDlnYBcclxuICogQHBhcmFtIHBhcmFtcyDlj4LmlbBcclxuICogQGNvbnN0cnVjdG9yXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gTm9BdXRoVG9rZW5UZW1wbGF0ZSh1cmxzOiBUZW1wbGF0ZVN0cmluZ3NBcnJheSwgLi4ucGFyYW1zOiBhbnlbXSk6IFtzdHJpbmcsIHsgaGVhZGVyczogSHR0cEhlYWRlcnMgfV0ge1xyXG4gICAgbGV0IFt1cmxdID0gdXJscztcclxuICAgIGlmIChwYXJhbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHVybCA9IFN0cmluZy5yYXcodXJscywgLi4ucGFyYW1zKTtcclxuICAgIH1cclxuICAgIHJldHVybiBbdXJsLCB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdUb2tlbi1Db250cm9sJzogJ25vLXRva2VuJyB9KSB9XTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export default void 0;
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYnJhcnkvY29yZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB2b2lkIDA7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVza2luLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWJyYXJ5L2NvcmUvcmVza2luLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { tap } from 'rxjs/operators';
|
|
3
|
+
import { Store } from '@reskin/core/utils';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
import * as i2 from "./auth.service";
|
|
7
|
+
export class RkAccountService {
|
|
8
|
+
constructor(http, auth) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.auth = auth;
|
|
11
|
+
this.account = new Store('account', {});
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 加载人员权限
|
|
15
|
+
*/
|
|
16
|
+
onLoadAuth() {
|
|
17
|
+
var _a;
|
|
18
|
+
const url = 'api/gl-service-sys-user/v1/user/system/user/loadAuthData';
|
|
19
|
+
return this.http.post(url, { SYSTEM_USER_ID: (_a = this.auth.token) === null || _a === void 0 ? void 0 : _a.id }).pipe(tap((json) => {
|
|
20
|
+
if (json.code === 0) {
|
|
21
|
+
this.account.set(json.data);
|
|
22
|
+
}
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 获得账号基本信息
|
|
27
|
+
*/
|
|
28
|
+
get userInfo() {
|
|
29
|
+
return this.account.get().UserInfo;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 获得账号人员库权限
|
|
33
|
+
*/
|
|
34
|
+
get personnelPool() {
|
|
35
|
+
return this.account.get().AuthPersonnelPool;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 获得账号业务权限
|
|
39
|
+
*/
|
|
40
|
+
get workflowAuth() {
|
|
41
|
+
return this.account.get().AuthWfId;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 获得账号机构分组权限
|
|
45
|
+
*/
|
|
46
|
+
get authOrgGroup() {
|
|
47
|
+
return this.account.get().AuthOrgGroup;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
RkAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkAccountService, deps: [{ token: i1.HttpClient }, { token: i2.RkAuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
+
RkAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkAccountService, providedIn: 'root' });
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkAccountService, decorators: [{
|
|
53
|
+
type: Injectable,
|
|
54
|
+
args: [{
|
|
55
|
+
providedIn: 'root',
|
|
56
|
+
}]
|
|
57
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.RkAuthService }]; } });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2FjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFNM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixZQUNZLElBQWdCLEVBQ2hCLElBQW1CO1FBRG5CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUh2QixZQUFPLEdBQUcsSUFBSSxLQUFLLENBQWUsU0FBUyxFQUFnQixFQUFFLENBQUMsQ0FBQztJQUlwRSxDQUFDO0lBRUo7O09BRUc7SUFDSCxVQUFVOztRQUNOLE1BQU0sR0FBRyxHQUFHLDBEQUEwRCxDQUFDO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksR0FBRyxFQUFFLEVBQUUsY0FBYyxFQUFFLE1BQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLDBDQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN2RSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNULElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMvQjtRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7SUFDM0MsQ0FBQzs7OEdBL0NRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs0RkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJrQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IElBY2NvdW50UHJvZmlsZSwgSUF1dGhBY2NvdW50LCBJQXV0aE9yZ0dyb3VwLCBJQXV0aFBlcnNvbm5lbFBvb2wsIElBdXRoV29ya2Zsb3cgfSBmcm9tICdAcmVza2luL2NvcmUvZW50aXR5L3VzZXInO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0ByZXNraW4vY29yZS91dGlscyc7XHJcbmltcG9ydCB7IFIgfSBmcm9tICdAcmVza2luL2NvcmUvZW50aXR5JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJrQWNjb3VudFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBhY2NvdW50ID0gbmV3IFN0b3JlPElBdXRoQWNjb3VudD4oJ2FjY291bnQnLCA8SUF1dGhBY2NvdW50Pnt9KTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIGF1dGg6IFJrQXV0aFNlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliqDovb3kurrlkZjmnYPpmZBcclxuICAgICAqL1xyXG4gICAgb25Mb2FkQXV0aCgpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnYXBpL2dsLXNlcnZpY2Utc3lzLXVzZXIvdjEvdXNlci9zeXN0ZW0vdXNlci9sb2FkQXV0aERhdGEnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSPih1cmwsIHsgU1lTVEVNX1VTRVJfSUQ6IHRoaXMuYXV0aC50b2tlbj8uaWQgfSkucGlwZShcclxuICAgICAgICAgICAgdGFwKChqc29uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5jb2RlID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2NvdW50LnNldChqc29uLmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6I635b6X6LSm5Y+35Z+65pys5L+h5oGvXHJcbiAgICAgKi9cclxuICAgIGdldCB1c2VySW5mbygpOiBJQWNjb3VudFByb2ZpbGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjY291bnQuZ2V0KCkuVXNlckluZm87XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDojrflvpfotKblj7fkurrlkZjlupPmnYPpmZBcclxuICAgICAqL1xyXG4gICAgZ2V0IHBlcnNvbm5lbFBvb2woKTogSUF1dGhQZXJzb25uZWxQb29sIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY2NvdW50LmdldCgpLkF1dGhQZXJzb25uZWxQb29sO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6I635b6X6LSm5Y+35Lia5Yqh5p2D6ZmQXHJcbiAgICAgKi9cclxuICAgIGdldCB3b3JrZmxvd0F1dGgoKTogSUF1dGhXb3JrZmxvdyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjb3VudC5nZXQoKS5BdXRoV2ZJZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOiOt+W+l+i0puWPt+acuuaehOWIhue7hOadg+mZkFxyXG4gICAgICovXHJcbiAgICBnZXQgYXV0aE9yZ0dyb3VwKCk6IEFycmF5PElBdXRoT3JnR3JvdXA+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY2NvdW50LmdldCgpLkF1dGhPcmdHcm91cDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { APP_INITIALIZER, Inject, Injectable, InjectionToken } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
/**
|
|
6
|
+
* 项目环境变量配置 Token
|
|
7
|
+
*/
|
|
8
|
+
export const RK_ENVIRONMENT = new InjectionToken('environment');
|
|
9
|
+
export class AppConfig {
|
|
10
|
+
constructor(env, title) {
|
|
11
|
+
this.env = env;
|
|
12
|
+
this.title = title;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 加载配置
|
|
16
|
+
*/
|
|
17
|
+
onLoad() {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
const url = `api/gl-service-sys-core/v1/core/system/parameter/getOneByCode/${this.env.config.PROJECT_CONFIG_KEY}`;
|
|
20
|
+
const response = yield fetch(url);
|
|
21
|
+
const json = yield response.json();
|
|
22
|
+
if (json.code !== 0) {
|
|
23
|
+
throw new Error(json.msg);
|
|
24
|
+
}
|
|
25
|
+
const config = json.data.SYSTEM_PARAMETER_VALUE && JSON.parse(json.data.SYSTEM_PARAMETER_VALUE);
|
|
26
|
+
config.production = config.production === 'true';
|
|
27
|
+
AppConfig.settings = config;
|
|
28
|
+
this.title.setTitle(config.insights.PROJECT_NAME);
|
|
29
|
+
return config;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
AppConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AppConfig, deps: [{ token: RK_ENVIRONMENT }, { token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
AppConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AppConfig, providedIn: 'root' });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AppConfig, decorators: [{
|
|
36
|
+
type: Injectable,
|
|
37
|
+
args: [{
|
|
38
|
+
providedIn: 'root',
|
|
39
|
+
}]
|
|
40
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
41
|
+
type: Inject,
|
|
42
|
+
args: [RK_ENVIRONMENT]
|
|
43
|
+
}] }, { type: i1.Title }]; } });
|
|
44
|
+
/**
|
|
45
|
+
* 项目初始化配置
|
|
46
|
+
* @param environment
|
|
47
|
+
*/
|
|
48
|
+
export function providerAppConfig(environment) {
|
|
49
|
+
return [
|
|
50
|
+
{ provide: RK_ENVIRONMENT, useValue: environment },
|
|
51
|
+
AppConfig,
|
|
52
|
+
{
|
|
53
|
+
provide: APP_INITIALIZER,
|
|
54
|
+
useFactory: (appConfig) => () => appConfig.onLoad(),
|
|
55
|
+
deps: [AppConfig],
|
|
56
|
+
multi: true,
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnJhcnkvY29yZS9zZXJ2aWNlcy9hcHAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJcEY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7QUFLaEUsTUFBTSxPQUFPLFNBQVM7SUFNbEIsWUFDb0MsR0FBUSxFQUNoQyxLQUFZO1FBRFksUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNoQyxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQ3JCLENBQUM7SUFFSjs7T0FFRztJQUNHLE1BQU07O1lBQ1IsTUFBTSxHQUFHLEdBQUcsaUVBQWlFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDbEgsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsTUFBTSxJQUFJLEdBQU0sTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtnQkFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDN0I7WUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQ2hHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUM7WUFDakQsU0FBUyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNsRCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDO0tBQUE7O3VHQTFCUSxTQUFTLGtCQU9OLGNBQWM7MkdBUGpCLFNBQVMsY0FGTixNQUFNOzRGQUVULFNBQVM7a0JBSHJCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFRUSxNQUFNOzJCQUFDLGNBQWM7O0FBc0I5Qjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsV0FBZ0I7SUFDOUMsT0FBTztRQUNILEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFO1FBQ2xELFNBQVM7UUFDVDtZQUNJLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxDQUFDLFNBQW9CLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDOUQsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ2pCLEtBQUssRUFBRSxJQUFJO1NBQ2Q7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBFbnYsIFIsIFdDIH0gZnJvbSAnQHJlc2tpbi9jb3JlL2VudGl0eSc7XHJcblxyXG4vKipcclxuICog6aG555uu546v5aKD5Y+Y6YeP6YWN572uIFRva2VuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgUktfRU5WSVJPTk1FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2Vudmlyb25tZW50Jyk7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBDb25maWcge1xyXG4gICAgLyoqXHJcbiAgICAgKiDpobnnm67phY3nva7poblcclxuICAgICAqL1xyXG4gICAgc3RhdGljIHNldHRpbmdzOiBXQztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KFJLX0VOVklST05NRU5UKSBwcml2YXRlIGVudjogRW52LFxyXG4gICAgICAgIHByaXZhdGUgdGl0bGU6IFRpdGxlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5Yqg6L296YWN572uXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIG9uTG9hZCgpOiBQcm9taXNlPFdDPiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYGFwaS9nbC1zZXJ2aWNlLXN5cy1jb3JlL3YxL2NvcmUvc3lzdGVtL3BhcmFtZXRlci9nZXRPbmVCeUNvZGUvJHt0aGlzLmVudi5jb25maWcuUFJPSkVDVF9DT05GSUdfS0VZfWA7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpO1xyXG4gICAgICAgIGNvbnN0IGpzb246IFIgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XHJcbiAgICAgICAgaWYgKGpzb24uY29kZSAhPT0gMCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoanNvbi5tc2cpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBjb25maWcgPSBqc29uLmRhdGEuU1lTVEVNX1BBUkFNRVRFUl9WQUxVRSAmJiBKU09OLnBhcnNlKGpzb24uZGF0YS5TWVNURU1fUEFSQU1FVEVSX1ZBTFVFKTtcclxuICAgICAgICBjb25maWcucHJvZHVjdGlvbiA9IGNvbmZpZy5wcm9kdWN0aW9uID09PSAndHJ1ZSc7XHJcbiAgICAgICAgQXBwQ29uZmlnLnNldHRpbmdzID0gY29uZmlnO1xyXG4gICAgICAgIHRoaXMudGl0bGUuc2V0VGl0bGUoY29uZmlnLmluc2lnaHRzLlBST0pFQ1RfTkFNRSk7XHJcbiAgICAgICAgcmV0dXJuIGNvbmZpZztcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIOmhueebruWIneWni+WMlumFjee9rlxyXG4gKiBAcGFyYW0gZW52aXJvbm1lbnRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlckFwcENvbmZpZyhlbnZpcm9ubWVudDogRW52KSB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICAgIHsgcHJvdmlkZTogUktfRU5WSVJPTk1FTlQsIHVzZVZhbHVlOiBlbnZpcm9ubWVudCB9LFxyXG4gICAgICAgIEFwcENvbmZpZyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKGFwcENvbmZpZzogQXBwQ29uZmlnKSA9PiAoKSA9PiBhcHBDb25maWcub25Mb2FkKCksXHJcbiAgICAgICAgICAgIGRlcHM6IFtBcHBDb25maWddLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgXTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import { tap } from 'rxjs/operators';
|
|
4
|
+
import { Store } from '@reskin/core/utils';
|
|
5
|
+
import { RK_ENVIRONMENT } from './app.config';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
export class RkAuthService {
|
|
9
|
+
constructor(env, http) {
|
|
10
|
+
this.env = env;
|
|
11
|
+
this.http = http;
|
|
12
|
+
this.auth = new Store('auth', {});
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 系统登录
|
|
16
|
+
* @param data 验证信息
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
onLogin(data) {
|
|
20
|
+
const url = 'api/gl-service-sys-user/v1/user/system/auth/login';
|
|
21
|
+
const headers = new HttpHeaders({
|
|
22
|
+
'ProjectNo': this.env.config.PROJECT_TYPE,
|
|
23
|
+
'Token-Control': 'no-token',
|
|
24
|
+
});
|
|
25
|
+
return this.http.post(url, { data }, { headers }).pipe(tap((json) => {
|
|
26
|
+
if (json.code === 0) {
|
|
27
|
+
this.auth.set(json.data);
|
|
28
|
+
}
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 注销系统
|
|
33
|
+
*/
|
|
34
|
+
onLogout() {
|
|
35
|
+
const url = 'api/gl-service-sys-user/v1/user/system/auth/logoutByAuthId';
|
|
36
|
+
return this.http.post(url, { AUTH_ID: this.token.id });
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 获得 token
|
|
40
|
+
*/
|
|
41
|
+
get token() {
|
|
42
|
+
return this.auth.get();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
RkAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkAuthService, deps: [{ token: RK_ENVIRONMENT }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
46
|
+
RkAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkAuthService, providedIn: 'root' });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkAuthService, decorators: [{
|
|
48
|
+
type: Injectable,
|
|
49
|
+
args: [{
|
|
50
|
+
providedIn: 'root',
|
|
51
|
+
}]
|
|
52
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
53
|
+
type: Inject,
|
|
54
|
+
args: [RK_ENVIRONMENT]
|
|
55
|
+
}] }, { type: i1.HttpClient }]; } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFNOUMsTUFBTSxPQUFPLGFBQWE7SUFFdEIsWUFDb0MsR0FBUSxFQUNoQyxJQUFnQjtRQURRLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFDaEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUhwQixTQUFJLEdBQUcsSUFBSSxLQUFLLENBQVEsTUFBTSxFQUFTLEVBQUUsQ0FBQyxDQUFDO0lBSWhELENBQUM7SUFFSjs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLElBQVk7UUFDaEIsTUFBTSxHQUFHLEdBQUcsbURBQW1ELENBQUM7UUFDaEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDNUIsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVk7WUFDekMsZUFBZSxFQUFFLFVBQVU7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNyRCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNULElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1QjtRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ0osTUFBTSxHQUFHLEdBQUcsNERBQTRELENBQUM7UUFDekUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDOzsyR0F4Q1EsYUFBYSxrQkFHVixjQUFjOytHQUhqQixhQUFhLGNBRlYsTUFBTTs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBSVEsTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQHJlc2tpbi9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgSUF1dGggfSBmcm9tICdAcmVza2luL2NvcmUvZW50aXR5L3VzZXInO1xyXG5pbXBvcnQgeyBSS19FTlZJUk9OTUVOVCB9IGZyb20gJy4vYXBwLmNvbmZpZyc7XHJcbmltcG9ydCB7IEVudiwgUiB9IGZyb20gJ0ByZXNraW4vY29yZS9lbnRpdHknO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmtBdXRoU2VydmljZSB7XHJcbiAgICBwcml2YXRlIGF1dGggPSBuZXcgU3RvcmU8SUF1dGg+KCdhdXRoJywgPElBdXRoPnt9KTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoUktfRU5WSVJPTk1FTlQpIHByaXZhdGUgZW52OiBFbnYsXHJcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgKSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog57O757uf55m75b2VXHJcbiAgICAgKiBAcGFyYW0gZGF0YSDpqozor4Hkv6Hmga9cclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIG9uTG9naW4oZGF0YTogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2FwaS9nbC1zZXJ2aWNlLXN5cy11c2VyL3YxL3VzZXIvc3lzdGVtL2F1dGgvbG9naW4nO1xyXG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICAgICAnUHJvamVjdE5vJzogdGhpcy5lbnYuY29uZmlnLlBST0pFQ1RfVFlQRSxcclxuICAgICAgICAgICAgJ1Rva2VuLUNvbnRyb2wnOiAnbm8tdG9rZW4nLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSPih1cmwsIHsgZGF0YSB9LCB7IGhlYWRlcnMgfSkucGlwZShcclxuICAgICAgICAgICAgdGFwKChqc29uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5jb2RlID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdXRoLnNldChqc29uLmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5rOo6ZSA57O757ufXHJcbiAgICAgKi9cclxuICAgIG9uTG9nb3V0KCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdhcGkvZ2wtc2VydmljZS1zeXMtdXNlci92MS91c2VyL3N5c3RlbS9hdXRoL2xvZ291dEJ5QXV0aElkJztcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Uj4odXJsLCB7IEFVVEhfSUQ6IHRoaXMudG9rZW4uaWQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDojrflvpcgdG9rZW5cclxuICAgICAqL1xyXG4gICAgZ2V0IHRva2VuKCk6IElBdXRoIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hdXRoLmdldCgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class RkCacheHttpService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.cache = new Map();
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 获得已缓存的请求
|
|
10
|
+
* @param url GET请求地址
|
|
11
|
+
*/
|
|
12
|
+
get(url) {
|
|
13
|
+
return this.cache.get(url);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 缓存请求
|
|
17
|
+
* @param url GET请求地址
|
|
18
|
+
* @param response 响应内容
|
|
19
|
+
*/
|
|
20
|
+
set(url, response) {
|
|
21
|
+
this.cache.set(url, response);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 删除指定已缓存的请求
|
|
25
|
+
* @param url GET请求地址
|
|
26
|
+
*/
|
|
27
|
+
delete(url) {
|
|
28
|
+
this.cache.delete(url);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 删除所有已缓存的请求
|
|
32
|
+
*/
|
|
33
|
+
clear() {
|
|
34
|
+
this.cache.clear();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
RkCacheHttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkCacheHttpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
RkCacheHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkCacheHttpService, providedIn: 'root' });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkCacheHttpService, decorators: [{
|
|
40
|
+
type: Injectable,
|
|
41
|
+
args: [{
|
|
42
|
+
providedIn: 'root',
|
|
43
|
+
}]
|
|
44
|
+
}] });
|
|
45
|
+
/**
|
|
46
|
+
* 设置为缓存请求
|
|
47
|
+
* 使用方法:http.get(...CacheHttpTemplate`api/response.json`)
|
|
48
|
+
* @param urls 请求地址
|
|
49
|
+
* @param params 模板参数
|
|
50
|
+
*/
|
|
51
|
+
export function CacheHttpTemplate(urls, ...params) {
|
|
52
|
+
let [url] = urls;
|
|
53
|
+
if (params.length > 0) {
|
|
54
|
+
url = String.raw(urls, ...params);
|
|
55
|
+
}
|
|
56
|
+
return [url, { headers: new HttpHeaders({ 'Cache-Map': 'Storage' }) }];
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2NhY2hlLmh0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFNOUQsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlZLFVBQUssR0FBZ0QsSUFBSSxHQUFHLEVBQTBDLENBQUM7S0FpQ2xIO0lBL0JHOzs7T0FHRztJQUNILEdBQUcsQ0FBSSxHQUFXO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBSSxHQUFXLEVBQUUsUUFBa0M7UUFDbEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsR0FBVztRQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7O2dIQWpDUSxrQkFBa0I7b0hBQWxCLGtCQUFrQixjQUZmLE1BQU07NEZBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7QUFxQ0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBMEIsRUFBRSxHQUFHLE1BQWE7SUFDMUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNqQixJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ25CLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0tBQ3JDO0lBQ0QsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMzRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSa0NhY2hlSHR0cFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBjYWNoZTogTWFwPHN0cmluZywgT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+PiA9IG5ldyBNYXA8c3RyaW5nLCBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4+KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDojrflvpflt7LnvJPlrZjnmoTor7fmsYJcclxuICAgICAqIEBwYXJhbSB1cmwgR0VU6K+35rGC5Zyw5Z2AXHJcbiAgICAgKi9cclxuICAgIGdldDxUPih1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KHVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDnvJPlrZjor7fmsYJcclxuICAgICAqIEBwYXJhbSB1cmwgR0VU6K+35rGC5Zyw5Z2AXHJcbiAgICAgKiBAcGFyYW0gcmVzcG9uc2Ug5ZON5bqU5YaF5a65XHJcbiAgICAgKi9cclxuICAgIHNldDxUPih1cmw6IHN0cmluZywgcmVzcG9uc2U6IE9ic2VydmFibGU8SHR0cEV2ZW50PFQ+Pikge1xyXG4gICAgICAgIHRoaXMuY2FjaGUuc2V0KHVybCwgcmVzcG9uc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5Yig6Zmk5oyH5a6a5bey57yT5a2Y55qE6K+35rGCXHJcbiAgICAgKiBAcGFyYW0gdXJsIEdFVOivt+axguWcsOWdgFxyXG4gICAgICovXHJcbiAgICBkZWxldGUodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNhY2hlLmRlbGV0ZSh1cmwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5Yig6Zmk5omA5pyJ5bey57yT5a2Y55qE6K+35rGCXHJcbiAgICAgKi9cclxuICAgIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2FjaGUuY2xlYXIoKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIOiuvue9ruS4uue8k+WtmOivt+axglxyXG4gKiDkvb/nlKjmlrnms5XvvJpodHRwLmdldCguLi5DYWNoZUh0dHBUZW1wbGF0ZWBhcGkvcmVzcG9uc2UuanNvbmApXHJcbiAqIEBwYXJhbSB1cmxzIOivt+axguWcsOWdgFxyXG4gKiBAcGFyYW0gcGFyYW1zIOaooeadv+WPguaVsFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIENhY2hlSHR0cFRlbXBsYXRlKHVybHM6IFRlbXBsYXRlU3RyaW5nc0FycmF5LCAuLi5wYXJhbXM6IGFueVtdKTogW3N0cmluZywgeyBoZWFkZXJzOiBIdHRwSGVhZGVycyB9XSB7XHJcbiAgICBsZXQgW3VybF0gPSB1cmxzO1xyXG4gICAgaWYgKHBhcmFtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdXJsID0gU3RyaW5nLnJhdyh1cmxzLCAuLi5wYXJhbXMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFt1cmwsIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0NhY2hlLU1hcCc6ICdTdG9yYWdlJyB9KSB9XTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class RkDestroyService extends Subject {
|
|
5
|
+
ngOnDestroy() {
|
|
6
|
+
this.next();
|
|
7
|
+
this.complete();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
RkDestroyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDestroyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
RkDestroyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDestroyService });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDestroyService, decorators: [{
|
|
13
|
+
type: Injectable
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJveS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2Rlc3Ryb3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxPQUFhO0lBQy9DLFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7OEdBSlEsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBSa0Rlc3Ryb3lTZXJ2aWNlIGV4dGVuZHMgU3ViamVjdDx2b2lkPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm5leHQoKTtcclxuICAgICAgICB0aGlzLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { filter, map } from 'rxjs/operators';
|
|
3
|
+
import { CacheHttpTemplate } from './cache.http.service';
|
|
4
|
+
import { Store } from '@reskin/core/utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
export class RkDictionaryService {
|
|
8
|
+
constructor(http) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.useItems = new Store('dictionary_use_items', {}, { expires: 1000 * 60 * 60 * 24 * 7 });
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 通过字典编码获得常用项
|
|
14
|
+
* @param code 字典编码
|
|
15
|
+
* @returns 常用项
|
|
16
|
+
*/
|
|
17
|
+
getUseItems(code) {
|
|
18
|
+
return this.useItems.get()[code] || [];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 通过字典编码设置常用项
|
|
22
|
+
* @param code 字典编码
|
|
23
|
+
* @param item 常用项
|
|
24
|
+
*/
|
|
25
|
+
setUseItems(code, item) {
|
|
26
|
+
const data = this.useItems.get();
|
|
27
|
+
if (!data[code]) {
|
|
28
|
+
data[code] = [item];
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
if (data[code].find((v) => v.DICTIONARY_ITEM_CODE === item.DICTIONARY_ITEM_CODE)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (data[code].length > 9) {
|
|
35
|
+
data[code].pop();
|
|
36
|
+
}
|
|
37
|
+
data[code].unshift(item);
|
|
38
|
+
}
|
|
39
|
+
this.useItems.set(data);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 通过字典编码获得字典基本信息
|
|
43
|
+
* @param code 字典编码
|
|
44
|
+
* @returns 字典基本信息
|
|
45
|
+
*/
|
|
46
|
+
getBaseInfo(code) {
|
|
47
|
+
const url = `api/gl-service-sys-core/v1/core/system/dictionary/selectOneByDictionaryCode`;
|
|
48
|
+
return this.http.get(...CacheHttpTemplate `${url}/${this.codeReplace(code)}`).pipe(filter((json) => json.code === 0), map((json) => json.data));
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* 通过字典编码获得获得字典项
|
|
52
|
+
* @param code 字典编码
|
|
53
|
+
* @returns 字典项列表
|
|
54
|
+
*/
|
|
55
|
+
getData(code) {
|
|
56
|
+
const url = `api/gl-service-sys-core/v1/core/system/dictionary/item/selectListByDictionaryCode`;
|
|
57
|
+
return this.http.get(...CacheHttpTemplate `${url}/${this.codeReplace(code)}`).pipe(filter((json) => json.code === 0), map((json) => json.data));
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 通过父节点获得字典项编码
|
|
61
|
+
* @param code 字典编码
|
|
62
|
+
* @param parentId 父节点编码
|
|
63
|
+
* @returns 字典项列表
|
|
64
|
+
*/
|
|
65
|
+
getChildData(code, parentId = '-1') {
|
|
66
|
+
const url = `api/gl-service-sys-core/v1/core/system/dictionary/item/selectListByDictionaryCode`;
|
|
67
|
+
return this.http.post(url, { DICTIONARY_CODE: code, SYS_PARENT: parentId }).pipe(filter((json) => json.code === 0), map((json) => json.data));
|
|
68
|
+
}
|
|
69
|
+
codeReplace(code) {
|
|
70
|
+
return code.replace(/\//g, '_');
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 通过字典编码获得获得字典项
|
|
74
|
+
* @param code 字典编码
|
|
75
|
+
* @param keyword 关键字
|
|
76
|
+
* @returns 字典项列表
|
|
77
|
+
*/
|
|
78
|
+
requestSearchData(code, keyword) {
|
|
79
|
+
const url = 'api/gl-service-sys-core/v1/core/system/dictionary/item/selectListByQuery';
|
|
80
|
+
return this.http.post(url, { DICTIONARY_CODE: code, DICTIONARY_ITEM_NAME: keyword }).pipe(filter((json) => json.code === 0), map((json) => json.data
|
|
81
|
+
.filter((item, index) => index < 10)
|
|
82
|
+
.map((item) => ({
|
|
83
|
+
label: item.DICTIONARY_ITEM_NAME,
|
|
84
|
+
key: item.SYSTEM_DICTIONARY_ITEM_ID,
|
|
85
|
+
value: item.DICTIONARY_ITEM_CODE,
|
|
86
|
+
}))));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* 获得字典项的所有父节点
|
|
90
|
+
* @param code 字典编码
|
|
91
|
+
* @param id 字典项编码
|
|
92
|
+
* @returns 字典项列表
|
|
93
|
+
*/
|
|
94
|
+
requestParentList(code, id) {
|
|
95
|
+
const url = 'api/gl-service-sys-core/v1/core/system/dictionary/item/selectListInfoAllParentByCode';
|
|
96
|
+
return this.http.post(url, { DICTIONARY_CODE: code, DICTIONARY_ITEM_CODE: id }).pipe(filter((json) => json.code === 0), map((json) => json.data));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
RkDictionaryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDictionaryService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
100
|
+
RkDictionaryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDictionaryService, providedIn: 'root' });
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDictionaryService, decorators: [{
|
|
102
|
+
type: Injectable,
|
|
103
|
+
args: [{
|
|
104
|
+
providedIn: 'root',
|
|
105
|
+
}]
|
|
106
|
+
}], 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=
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { tap } from 'rxjs/operators';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export class RkDownFileService {
|
|
6
|
+
constructor(http) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 使用GET方法下载文件
|
|
11
|
+
* @param url 请求链接; url可以传递自定义文件名优先级最高;如:api/file/down?fileName=身份证.jpg
|
|
12
|
+
* @param params 请求参数
|
|
13
|
+
*/
|
|
14
|
+
get(url, params) {
|
|
15
|
+
return this.http
|
|
16
|
+
.get(url, { params, responseType: 'blob', observe: 'response' })
|
|
17
|
+
.pipe(tap((response) => this.handleResponse(response, url)));
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 使用POST方法下载文件
|
|
21
|
+
* @param url 请求链接; url可以传递自定义文件名优先级最高;如:api/file/down?fileName=身份证.jpg
|
|
22
|
+
* @param params 请求参数
|
|
23
|
+
*/
|
|
24
|
+
post(url, params) {
|
|
25
|
+
return this.http
|
|
26
|
+
.post(url, params, { responseType: 'blob', observe: 'response' })
|
|
27
|
+
.pipe(tap((response) => this.handleResponse(response, url)));
|
|
28
|
+
}
|
|
29
|
+
handleResponse(response, url) {
|
|
30
|
+
const filename = this.getFileName(response.headers, url);
|
|
31
|
+
this.saveAs(response.body, filename);
|
|
32
|
+
}
|
|
33
|
+
getFileName(headers, url) {
|
|
34
|
+
const urlParams = new URLSearchParams(url.split('?')[1]);
|
|
35
|
+
const fileNameFromParams = urlParams.get('fileName');
|
|
36
|
+
if (fileNameFromParams) {
|
|
37
|
+
return decodeURIComponent(fileNameFromParams);
|
|
38
|
+
}
|
|
39
|
+
const disposition = headers.get('content-disposition');
|
|
40
|
+
if (disposition) {
|
|
41
|
+
const filenameMatch = disposition.match(/filename=([^;]+)/);
|
|
42
|
+
if (filenameMatch) {
|
|
43
|
+
return decodeURIComponent(filenameMatch[1]);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const filenameFromHeaders = headers.get('filename');
|
|
47
|
+
if (filenameFromHeaders) {
|
|
48
|
+
return decodeURIComponent(filenameFromHeaders);
|
|
49
|
+
}
|
|
50
|
+
const urlSegments = url.split('/');
|
|
51
|
+
return decodeURIComponent(urlSegments[urlSegments.length - 1].split('?')[0]);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 文件另存为
|
|
55
|
+
* @param body 二进制内容
|
|
56
|
+
* @param filename 文件名
|
|
57
|
+
*/
|
|
58
|
+
saveAs(body, filename) {
|
|
59
|
+
const blob = new Blob([body], { type: 'application/x-msdownload' });
|
|
60
|
+
const blobURL = URL.createObjectURL(blob);
|
|
61
|
+
const link = document.createElement('a');
|
|
62
|
+
link.href = blobURL;
|
|
63
|
+
link.download = filename;
|
|
64
|
+
link.style.display = 'none';
|
|
65
|
+
document.body.appendChild(link);
|
|
66
|
+
link.click();
|
|
67
|
+
document.body.removeChild(link);
|
|
68
|
+
URL.revokeObjectURL(blobURL);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
RkDownFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDownFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
72
|
+
RkDownFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDownFileService, providedIn: 'root' });
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDownFileService, decorators: [{
|
|
74
|
+
type: Injectable,
|
|
75
|
+
args: [{
|
|
76
|
+
providedIn: 'root',
|
|
77
|
+
}]
|
|
78
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bi5maWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvc2VydmljZXMvZG93bi5maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUtyQyxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRXhDOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBVyxFQUFFLE1BQTRCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO2FBQy9ELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxHQUFXLEVBQUUsTUFBNEI7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7YUFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxjQUFjLENBQUMsUUFBNEIsRUFBRSxHQUFXO1FBQzVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxPQUFvQixFQUFFLEdBQVc7UUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxJQUFJLGtCQUFrQixFQUFFO1lBQ3BCLE9BQU8sa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNqRDtRQUVELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN2RCxJQUFJLFdBQVcsRUFBRTtZQUNiLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUM1RCxJQUFJLGFBQWEsRUFBRTtnQkFDZixPQUFPLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQy9DO1NBQ0o7UUFFRCxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsSUFBSSxtQkFBbUIsRUFBRTtZQUNyQixPQUFPLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDbEQ7UUFFRCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxNQUFNLENBQUMsSUFBVSxFQUFFLFFBQWdCO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDNUIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDOzsrR0F0RVEsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGZCxNQUFNOzRGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmtEb3duRmlsZVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5L2/55SoR0VU5pa55rOV5LiL6L295paH5Lu2XHJcbiAgICAgKiBAcGFyYW0gdXJsIOivt+axgumTvuaOpTsgdXJs5Y+v5Lul5Lyg6YCS6Ieq5a6a5LmJ5paH5Lu25ZCN5LyY5YWI57qn5pyA6auYO+Wmgu+8mmFwaS9maWxlL2Rvd24/ZmlsZU5hbWU96Lqr5Lu96K+BLmpwZ1xyXG4gICAgICogQHBhcmFtIHBhcmFtcyDor7fmsYLlj4LmlbBcclxuICAgICAqL1xyXG4gICAgZ2V0KHVybDogc3RyaW5nLCBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QmxvYj4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5nZXQodXJsLCB7IHBhcmFtcywgcmVzcG9uc2VUeXBlOiAnYmxvYicsIG9ic2VydmU6ICdyZXNwb25zZScgfSlcclxuICAgICAgICAgICAgLnBpcGUodGFwKChyZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVSZXNwb25zZShyZXNwb25zZSwgdXJsKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5L2/55SoUE9TVOaWueazleS4i+i9veaWh+S7tlxyXG4gICAgICogQHBhcmFtIHVybCDor7fmsYLpk77mjqU7IHVybOWPr+S7peS8oOmAkuiHquWumuS5ieaWh+S7tuWQjeS8mOWFiOe6p+acgOmrmDvlpoLvvJphcGkvZmlsZS9kb3duP2ZpbGVOYW1lPei6q+S7veivgS5qcGdcclxuICAgICAqIEBwYXJhbSBwYXJhbXMg6K+35rGC5Y+C5pWwXHJcbiAgICAgKi9cclxuICAgIHBvc3QodXJsOiBzdHJpbmcsIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxCbG9iPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnBvc3QodXJsLCBwYXJhbXMsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicsIG9ic2VydmU6ICdyZXNwb25zZScgfSlcclxuICAgICAgICAgICAgLnBpcGUodGFwKChyZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVSZXNwb25zZShyZXNwb25zZSwgdXJsKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlUmVzcG9uc2UocmVzcG9uc2U6IEh0dHBSZXNwb25zZTxCbG9iPiwgdXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHRoaXMuZ2V0RmlsZU5hbWUocmVzcG9uc2UuaGVhZGVycywgdXJsKTtcclxuICAgICAgICB0aGlzLnNhdmVBcyhyZXNwb25zZS5ib2R5ISwgZmlsZW5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RmlsZU5hbWUoaGVhZGVyczogSHR0cEhlYWRlcnMsIHVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB1cmxQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHVybC5zcGxpdCgnPycpWzFdKTtcclxuICAgICAgICBjb25zdCBmaWxlTmFtZUZyb21QYXJhbXMgPSB1cmxQYXJhbXMuZ2V0KCdmaWxlTmFtZScpO1xyXG4gICAgICAgIGlmIChmaWxlTmFtZUZyb21QYXJhbXMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChmaWxlTmFtZUZyb21QYXJhbXMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZGlzcG9zaXRpb24gPSBoZWFkZXJzLmdldCgnY29udGVudC1kaXNwb3NpdGlvbicpO1xyXG4gICAgICAgIGlmIChkaXNwb3NpdGlvbikge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlbmFtZU1hdGNoID0gZGlzcG9zaXRpb24ubWF0Y2goL2ZpbGVuYW1lPShbXjtdKykvKTtcclxuICAgICAgICAgICAgaWYgKGZpbGVuYW1lTWF0Y2gpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoZmlsZW5hbWVNYXRjaFsxXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGZpbGVuYW1lRnJvbUhlYWRlcnMgPSBoZWFkZXJzLmdldCgnZmlsZW5hbWUnKTtcclxuICAgICAgICBpZiAoZmlsZW5hbWVGcm9tSGVhZGVycykge1xyXG4gICAgICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGZpbGVuYW1lRnJvbUhlYWRlcnMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdXJsU2VnbWVudHMgPSB1cmwuc3BsaXQoJy8nKTtcclxuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHVybFNlZ21lbnRzW3VybFNlZ21lbnRzLmxlbmd0aCAtIDFdLnNwbGl0KCc/JylbMF0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5paH5Lu25Y+m5a2Y5Li6XHJcbiAgICAgKiBAcGFyYW0gYm9keSDkuozov5vliLblhoXlrrlcclxuICAgICAqIEBwYXJhbSBmaWxlbmFtZSDmlofku7blkI1cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzYXZlQXMoYm9keTogQmxvYiwgZmlsZW5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYm9keV0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3gtbXNkb3dubG9hZCcgfSk7XHJcbiAgICAgICAgY29uc3QgYmxvYlVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICBsaW5rLmhyZWYgPSBibG9iVVJMO1xyXG4gICAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlbmFtZTtcclxuICAgICAgICBsaW5rLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgICAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcclxuICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGJsb2JVUkwpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { AppConfig } from './app.config';
|
|
3
|
+
import { CacheHttpTemplate } from './cache.http.service';
|
|
4
|
+
import { filter, map, tap } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
export class RkFieldSchemeService {
|
|
8
|
+
constructor(http) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.appSettings = AppConfig.settings;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 通过字段方案标识符获得字段方案内容
|
|
14
|
+
* @param permission 字段方案标识符
|
|
15
|
+
* @returns 字段方案
|
|
16
|
+
*/
|
|
17
|
+
getData(permission) {
|
|
18
|
+
if (this.appSettings && this.appSettings.servers.AREA_CODE) {
|
|
19
|
+
permission = `${this.appSettings.servers.AREA_CODE}_${permission}`;
|
|
20
|
+
}
|
|
21
|
+
const url = `api/gl-service-sys-core/v1/core/system/field/scheme/selectSchemeByIdentifier`;
|
|
22
|
+
return this.http.get(...CacheHttpTemplate `${url}/${permission}`).pipe(tap((json) => {
|
|
23
|
+
if (json.code !== 0) {
|
|
24
|
+
throw new Error(`通过字段方案标识符获得字段方案内容 ${url} 出现错误: ${json.msg}`);
|
|
25
|
+
}
|
|
26
|
+
}), filter((json) => json.code === 0), map((json) => json.data));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
RkFieldSchemeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkFieldSchemeService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
RkFieldSchemeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkFieldSchemeService, providedIn: 'root' });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkFieldSchemeService, decorators: [{
|
|
32
|
+
type: Injectable,
|
|
33
|
+
args: [{
|
|
34
|
+
providedIn: 'root',
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuc2NoZW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvc2VydmljZXMvZmllbGQuc2NoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPbEQsTUFBTSxPQUFPLG9CQUFvQjtJQUU3QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRDVCLGdCQUFXLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNGLENBQUM7SUFFeEM7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxVQUFrQjtRQUN0QixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3hELFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztTQUN0RTtRQUNELE1BQU0sR0FBRyxHQUFHLDhFQUE4RSxDQUFDO1FBQzNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxpQkFBaUIsQ0FBQSxHQUFHLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDcEUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixHQUFHLFVBQVUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDakU7UUFDTCxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQ2pDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUMzQixDQUFDO0lBQ04sQ0FBQzs7a0hBdkJRLG9CQUFvQjtzSEFBcEIsb0JBQW9CLGNBRmpCLE1BQU07NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tICcuL2FwcC5jb25maWcnO1xyXG5pbXBvcnQgeyBDYWNoZUh0dHBUZW1wbGF0ZSB9IGZyb20gJy4vY2FjaGUuaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSUZpZWxkU2NoZW1lIH0gZnJvbSAnQHJlc2tpbi9jb3JlL2VudGl0eS9zY2hlbWUnO1xyXG5pbXBvcnQgeyBSIH0gZnJvbSAnQHJlc2tpbi9jb3JlL2VudGl0eSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSa0ZpZWxkU2NoZW1lU2VydmljZSB7XHJcbiAgICBwcml2YXRlIGFwcFNldHRpbmdzID0gQXBwQ29uZmlnLnNldHRpbmdzO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6YCa6L+H5a2X5q615pa55qGI5qCH6K+G56ym6I635b6X5a2X5q615pa55qGI5YaF5a65XHJcbiAgICAgKiBAcGFyYW0gcGVybWlzc2lvbiDlrZfmrrXmlrnmoYjmoIfor4bnrKZcclxuICAgICAqIEByZXR1cm5zIOWtl+auteaWueahiFxyXG4gICAgICovXHJcbiAgICBnZXREYXRhKHBlcm1pc3Npb246IHN0cmluZyk6IE9ic2VydmFibGU8SUZpZWxkU2NoZW1lPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuYXBwU2V0dGluZ3MgJiYgdGhpcy5hcHBTZXR0aW5ncy5zZXJ2ZXJzLkFSRUFfQ09ERSkge1xyXG4gICAgICAgICAgICBwZXJtaXNzaW9uID0gYCR7dGhpcy5hcHBTZXR0aW5ncy5zZXJ2ZXJzLkFSRUFfQ09ERX1fJHtwZXJtaXNzaW9ufWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHVybCA9IGBhcGkvZ2wtc2VydmljZS1zeXMtY29yZS92MS9jb3JlL3N5c3RlbS9maWVsZC9zY2hlbWUvc2VsZWN0U2NoZW1lQnlJZGVudGlmaWVyYDtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSPiguLi5DYWNoZUh0dHBUZW1wbGF0ZWAke3VybH0vJHtwZXJtaXNzaW9ufWApLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCgoanNvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGpzb24uY29kZSAhPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihg6YCa6L+H5a2X5q615pa55qGI5qCH6K+G56ym6I635b6X5a2X5q615pa55qGI5YaF5a65ICR7dXJsfSDlh7rnjrDplJnor686ICR7anNvbi5tc2d9YCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBmaWx0ZXIoKGpzb24pID0+IGpzb24uY29kZSA9PT0gMCksXHJcbiAgICAgICAgICAgIG1hcCgoanNvbikgPT4ganNvbi5kYXRhKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|