@ibiz-template/runtime 0.6.9 → 0.6.10
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/dist/index.esm.js +310 -84
- package/dist/index.system.min.js +1 -1
- package/out/controller/control/search-bar/index.d.ts +1 -0
- package/out/controller/control/search-bar/index.d.ts.map +1 -1
- package/out/controller/control/search-bar/index.js +1 -0
- package/out/controller/control/search-bar/search-bar-filter-items.controller.d.ts +81 -0
- package/out/controller/control/search-bar/search-bar-filter-items.controller.d.ts.map +1 -0
- package/out/controller/control/search-bar/search-bar-filter-items.controller.js +134 -0
- package/out/controller/control/search-bar/search-bar-filter.controller.d.ts.map +1 -1
- package/out/controller/control/search-bar/search-bar-filter.controller.js +2 -0
- package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
- package/out/controller/control/search-bar/search-bar.controller.js +26 -2
- package/out/controller/control/search-bar/use-searchcond.d.ts.map +1 -1
- package/out/controller/control/search-bar/use-searchcond.js +17 -0
- package/out/interface/controller/state/control/i-search-bar.state.d.ts +8 -1
- package/out/interface/controller/state/control/i-search-bar.state.d.ts.map +1 -1
- package/out/interface/service/service/i-app-de-authority.service.d.ts +2 -1
- package/out/interface/service/service/i-app-de-authority.service.d.ts.map +1 -1
- package/out/interface/service/service/i-auth.service.d.ts +7 -0
- package/out/interface/service/service/i-auth.service.d.ts.map +1 -1
- package/out/service/service/auth/v7-auth.service.d.ts +1 -0
- package/out/service/service/auth/v7-auth.service.d.ts.map +1 -1
- package/out/service/service/auth/v7-auth.service.js +29 -6
- package/out/service/service/authority/authority.service.d.ts.map +1 -1
- package/out/service/service/authority/authority.service.js +1 -1
- package/out/service/service/authority/de-authority.service.d.ts +2 -1
- package/out/service/service/authority/de-authority.service.d.ts.map +1 -1
- package/out/service/service/authority/de-authority.service.js +12 -5
- package/package.json +3 -3
|
@@ -2,4 +2,5 @@ export * from './search-bar.controller';
|
|
|
2
2
|
export { SearchBarFilterController } from './search-bar-filter.controller';
|
|
3
3
|
export * from './entity-schema';
|
|
4
4
|
export * from './use-searchcond';
|
|
5
|
+
export { SearchBarFilterItemsController } from './search-bar-filter-items.controller';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -2,3 +2,4 @@ export * from './search-bar.controller';
|
|
|
2
2
|
export { SearchBarFilterController } from './search-bar-filter.controller';
|
|
3
3
|
export * from './entity-schema';
|
|
4
4
|
export * from './use-searchcond';
|
|
5
|
+
export { SearchBarFilterItemsController } from './search-bar-filter-items.controller';
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { IAppDataEntity, ISearchBarFilter } from '@ibiz/model-core';
|
|
2
|
+
import { SearchBarFilterController } from './search-bar-filter.controller';
|
|
3
|
+
/** 不需要编辑器的OP */
|
|
4
|
+
export declare const ExcludeOPs: string[];
|
|
5
|
+
type FieldInfo = {
|
|
6
|
+
name: string;
|
|
7
|
+
label: string;
|
|
8
|
+
valueOPs: string[];
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* 搜索栏过滤项ITEMS控制器
|
|
12
|
+
* @author lxm
|
|
13
|
+
* @date 2023-10-12 05:49:19
|
|
14
|
+
* @export
|
|
15
|
+
* @class SearchBarFilterController
|
|
16
|
+
* @implements {IEditorContainerController}
|
|
17
|
+
*/
|
|
18
|
+
export declare class SearchBarFilterItemsController extends SearchBarFilterController {
|
|
19
|
+
protected filterModels: ISearchBarFilter[];
|
|
20
|
+
/**
|
|
21
|
+
* 关联实体的模型
|
|
22
|
+
* @author lxm
|
|
23
|
+
* @date 2024-03-14 03:30:45
|
|
24
|
+
* @type {IAppDataEntity}
|
|
25
|
+
*/
|
|
26
|
+
protected minorAppDE: IAppDataEntity;
|
|
27
|
+
/**
|
|
28
|
+
* 所有可以配置的子属性集合
|
|
29
|
+
* @author lxm
|
|
30
|
+
* @date 2024-03-14 04:20:10
|
|
31
|
+
* @type {Array<FieldInfo>}
|
|
32
|
+
*/
|
|
33
|
+
allFields: Array<FieldInfo>;
|
|
34
|
+
/**
|
|
35
|
+
* 子编辑项控制器
|
|
36
|
+
* @author lxm
|
|
37
|
+
* @date 2024-03-14 04:53:26
|
|
38
|
+
* @protected
|
|
39
|
+
* @type {Map<string, SearchBarFilterController>}
|
|
40
|
+
*/
|
|
41
|
+
protected subFilterCMap: Map<string, SearchBarFilterController>;
|
|
42
|
+
constructor(filterModels: ISearchBarFilter[], appDataEntity: IAppDataEntity, context: IContext, params: IParams);
|
|
43
|
+
/**
|
|
44
|
+
* 计算标识
|
|
45
|
+
* @author lxm
|
|
46
|
+
* @date 2024-03-14 05:06:14
|
|
47
|
+
* @protected
|
|
48
|
+
* @param {string} field
|
|
49
|
+
* @param {string} op
|
|
50
|
+
* @return {*} {string}
|
|
51
|
+
*/
|
|
52
|
+
protected calcKey(field: string, op: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* 初始化子实体
|
|
55
|
+
* @author lxm
|
|
56
|
+
* @date 2024-03-14 04:43:04
|
|
57
|
+
* @protected
|
|
58
|
+
* @return {*} {Promise<void>}
|
|
59
|
+
*/
|
|
60
|
+
protected initMinorAppDE(): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* 初始化子实体目标属性相关信息
|
|
63
|
+
* @author lxm
|
|
64
|
+
* @date 2024-03-14 04:42:32
|
|
65
|
+
* @protected
|
|
66
|
+
* @return {*} {Promise<void>}
|
|
67
|
+
*/
|
|
68
|
+
protected initAllFields(): Promise<void>;
|
|
69
|
+
init(): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* 获取子搜索栏控制器
|
|
72
|
+
* @author lxm
|
|
73
|
+
* @date 2024-03-15 02:51:02
|
|
74
|
+
* @param {string} field
|
|
75
|
+
* @param {string} op
|
|
76
|
+
* @return {*} {SearchBarFilterController}
|
|
77
|
+
*/
|
|
78
|
+
getSubFilterController(field: string, op: string): SearchBarFilterController;
|
|
79
|
+
}
|
|
80
|
+
export {};
|
|
81
|
+
//# sourceMappingURL=search-bar-filter-items.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-bar-filter-items.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar-filter-items.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,gBAAgB;AAChB,eAAO,MAAM,UAAU,EAAE,MAAM,EAGrB,CAAC;AAIX,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,8BAA+B,SAAQ,yBAAyB;IA2BzE,SAAS,CAAC,YAAY,EAAE,gBAAgB,EAAE;IA1B5C;;;;;OAKG;IACH,SAAS,CAAC,UAAU,EAAG,cAAc,CAAC;IAEtC;;;;;OAKG;IACH,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAM;IAEjC;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAa;gBAGhE,YAAY,EAAE,gBAAgB,EAAE,EAC1C,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO;IAKjB;;;;;;;;OAQG;IACH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAIpD;;;;;;OAMG;cACa,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB/C;;;;;;OAMG;cACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA6CxC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B;;;;;;;OAOG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,yBAAyB;CAG7E"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/* eslint-disable no-template-curly-in-string */
|
|
2
|
+
import { RuntimeError } from '@ibiz-template/core';
|
|
3
|
+
import { clone } from 'ramda';
|
|
4
|
+
import { ValueOP } from '../../../constant';
|
|
5
|
+
import { SearchBarFilterController } from './search-bar-filter.controller';
|
|
6
|
+
/** 不需要编辑器的OP */
|
|
7
|
+
export const ExcludeOPs = [
|
|
8
|
+
ValueOP.IS_NULL,
|
|
9
|
+
ValueOP.IS_NOT_NULL,
|
|
10
|
+
];
|
|
11
|
+
const SubFieldRegex = /^N_(.\w+)_(.\w+)$/; // N_USER_ID_EQ格式字符串中的USER_ID和EQ
|
|
12
|
+
/**
|
|
13
|
+
* 搜索栏过滤项ITEMS控制器
|
|
14
|
+
* @author lxm
|
|
15
|
+
* @date 2023-10-12 05:49:19
|
|
16
|
+
* @export
|
|
17
|
+
* @class SearchBarFilterController
|
|
18
|
+
* @implements {IEditorContainerController}
|
|
19
|
+
*/
|
|
20
|
+
export class SearchBarFilterItemsController extends SearchBarFilterController {
|
|
21
|
+
constructor(filterModels, appDataEntity, context, params) {
|
|
22
|
+
super(filterModels[0], appDataEntity, context, params);
|
|
23
|
+
this.filterModels = filterModels;
|
|
24
|
+
/**
|
|
25
|
+
* 所有可以配置的子属性集合
|
|
26
|
+
* @author lxm
|
|
27
|
+
* @date 2024-03-14 04:20:10
|
|
28
|
+
* @type {Array<FieldInfo>}
|
|
29
|
+
*/
|
|
30
|
+
this.allFields = [];
|
|
31
|
+
/**
|
|
32
|
+
* 子编辑项控制器
|
|
33
|
+
* @author lxm
|
|
34
|
+
* @date 2024-03-14 04:53:26
|
|
35
|
+
* @protected
|
|
36
|
+
* @type {Map<string, SearchBarFilterController>}
|
|
37
|
+
*/
|
|
38
|
+
this.subFilterCMap = new Map();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* 计算标识
|
|
42
|
+
* @author lxm
|
|
43
|
+
* @date 2024-03-14 05:06:14
|
|
44
|
+
* @protected
|
|
45
|
+
* @param {string} field
|
|
46
|
+
* @param {string} op
|
|
47
|
+
* @return {*} {string}
|
|
48
|
+
*/
|
|
49
|
+
calcKey(field, op) {
|
|
50
|
+
return `${field.toUpperCase()}_${op.toUpperCase()}`;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 初始化子实体
|
|
54
|
+
* @author lxm
|
|
55
|
+
* @date 2024-03-14 04:43:04
|
|
56
|
+
* @protected
|
|
57
|
+
* @return {*} {Promise<void>}
|
|
58
|
+
*/
|
|
59
|
+
async initMinorAppDE() {
|
|
60
|
+
var _a;
|
|
61
|
+
const targetField = this.filterModels[0].appDEFieldId;
|
|
62
|
+
let minorDEId = '';
|
|
63
|
+
(_a = this.appDataEntity.appDEMethodDTOs) === null || _a === void 0 ? void 0 : _a.find(item => {
|
|
64
|
+
var _a;
|
|
65
|
+
const field = (_a = item.appDEMethodDTOFields) === null || _a === void 0 ? void 0 : _a.find(x => {
|
|
66
|
+
return x.appDEFieldId === targetField;
|
|
67
|
+
});
|
|
68
|
+
if (field) {
|
|
69
|
+
minorDEId = field.refAppDataEntityId;
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
return false;
|
|
73
|
+
});
|
|
74
|
+
if (!minorDEId) {
|
|
75
|
+
throw new RuntimeError(`找不到属性${targetField}对应的关联实体`);
|
|
76
|
+
}
|
|
77
|
+
this.minorAppDE = await ibiz.hub.getAppDataEntity(minorDEId, this.context.srfappid);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* 初始化子实体目标属性相关信息
|
|
81
|
+
* @author lxm
|
|
82
|
+
* @date 2024-03-14 04:42:32
|
|
83
|
+
* @protected
|
|
84
|
+
* @return {*} {Promise<void>}
|
|
85
|
+
*/
|
|
86
|
+
async initAllFields() {
|
|
87
|
+
var _a;
|
|
88
|
+
const fieldMap = new Map();
|
|
89
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
90
|
+
this.filterModels.forEach(item => {
|
|
91
|
+
var _a;
|
|
92
|
+
const subStr = (_a = item.defsearchMode.codeName) === null || _a === void 0 ? void 0 : _a.split('__')[1];
|
|
93
|
+
const matches = subStr.match(SubFieldRegex);
|
|
94
|
+
const subField = matches[1];
|
|
95
|
+
const subOP = matches[2];
|
|
96
|
+
if (!fieldMap.has(subField)) {
|
|
97
|
+
fieldMap.set(subField, {
|
|
98
|
+
name: subField,
|
|
99
|
+
label: '',
|
|
100
|
+
valueOPs: [],
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
fieldMap.get(subField).valueOPs.push(subOP);
|
|
104
|
+
// 修改子项的模型
|
|
105
|
+
const cloneItem = clone(item);
|
|
106
|
+
cloneItem.defsearchMode.valueOP = subOP;
|
|
107
|
+
this.subFilterCMap.set(this.calcKey(subField, subOP), new SearchBarFilterController(cloneItem, this.appDataEntity, this.context, this.params));
|
|
108
|
+
});
|
|
109
|
+
(_a = this.minorAppDE.appDEFields) === null || _a === void 0 ? void 0 : _a.forEach(item => {
|
|
110
|
+
const codeName = item.codeName.toUpperCase();
|
|
111
|
+
if (fieldMap.has(codeName)) {
|
|
112
|
+
fieldMap.get(codeName).label = item.logicName;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
this.allFields = Array.from(fieldMap.values());
|
|
116
|
+
// 初始化子过滤项控制器
|
|
117
|
+
await Promise.all(Array.from(this.subFilterCMap.values()).map(item => item.init()));
|
|
118
|
+
}
|
|
119
|
+
async init() {
|
|
120
|
+
await this.initMinorAppDE();
|
|
121
|
+
await this.initAllFields();
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* 获取子搜索栏控制器
|
|
125
|
+
* @author lxm
|
|
126
|
+
* @date 2024-03-15 02:51:02
|
|
127
|
+
* @param {string} field
|
|
128
|
+
* @param {string} op
|
|
129
|
+
* @return {*} {SearchBarFilterController}
|
|
130
|
+
*/
|
|
131
|
+
getSubFilterController(field, op) {
|
|
132
|
+
return this.subFilterCMap.get(this.calcKey(field, op));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-bar-filter.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar-filter.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,cAAc,EACd,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAK5B,gBAAgB;AAChB,eAAO,MAAM,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"search-bar-filter.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar-filter.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,cAAc,EACd,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAK5B,gBAAgB;AAChB,eAAO,MAAM,UAAU,EAAE,MAAM,EAKrB,CAAC;AAIX,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,cAAc,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,yBAA0B,YAAW,0BAA0B;IAoEjE,KAAK,EAAE,gBAAgB;IACvB,aAAa,EAAE,cAAc;IAC7B,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,OAAO;IAtExB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC;IAEjC;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAS;IAE1B;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;gBAGQ,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO;IAqBxB;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;;;;;OAMG;IACH,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,KAAK,CAAA;KAAE;IAevE;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;CAO3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGhF,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"search-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGhF,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAYxD;;;;;;;;GAQG;AACH,qBAAa,mBACX,SAAQ,iBAAiB,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CACtE,YAAW,oBAAoB;IAE/B;;;;;OAKG;IACH,WAAW,SAAM;IAEjB;;;;;OAKG;IACH,iBAAiB,EAAE,yBAAyB,EAAE,CAAM;IAEpD;;;;;OAKG;IACH,OAAO,EAAG,gBAAgB,CAAC;IAE3B;;;;;OAKG;IACH,gBAAgB,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IAEvD;;;;;OAKG;IACH,oBAAoB,UAA8C;IAElE;;;;;OAKG;IACH,gBAAgB,UAAS;IAEzB;;;;;OAKG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,gBAAgB,EAAE,CAEzC;IAED;;;;OAIG;IACH,gBAAgB,UAAS;IAEzB;;;;;OAKG;IACH,IAAI,IAAI,IAAI,eAAe,GAAG,SAAS,CAGtC;IAED;;;;;OAKG;IACH,aAAa,EAAG,cAAc,CAAC;IAE/B,SAAS,CAAC,SAAS,IAAI,IAAI;cAcX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B1C;;;;;OAKG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCzC;;;;;;OAMG;IACH,SAAS,CAAC,0BAA0B,IAAI,IAAI;IA2B5C;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,QAAQ,IAAI,IAAI;IAIhB;;;;;;;OAOG;IACH,oBAAoB,CAClB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,yBAAyB,GAAG,SAAS;IAUxC;;;;;OAKG;IACH,eAAe,IAAI,OAAO;IA4B1B;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAKnB;;;;;;OAMG;cACa,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6CrD;;;;;OAKG;IACH,WAAW,CAAC,WAAW,UAAO,GAAG,KAAK,EAAE,GAAG,SAAS;IA+CpD;;;;;OAKG;IACG,iBAAiB,CAAC,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoGlE;;;;;OAKG;IACH,gBAAgB,IAAI,IAAI;IAWxB;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCjC;;;;;OAKG;IACG,gBAAgB,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;CA2CzE"}
|
|
@@ -8,6 +8,7 @@ import { SearchBarService } from './search-bar.service';
|
|
|
8
8
|
import { getEntitySchema } from '../../utils';
|
|
9
9
|
import { calcFilterModelBySchema } from './entity-schema';
|
|
10
10
|
import { calcSearchConds, getOriginFilterNodes, parseFilters, } from './use-searchcond';
|
|
11
|
+
import { SearchBarFilterItemsController } from './search-bar-filter-items.controller';
|
|
11
12
|
const ScriptValueRegex = /\$\{[^}]*\}/; // 匹配${xxx}格式字符串
|
|
12
13
|
/**
|
|
13
14
|
* 搜索栏控制器
|
|
@@ -267,10 +268,29 @@ export class SearchBarController extends ControlController {
|
|
|
267
268
|
async initSearchBarFilters() {
|
|
268
269
|
var _a;
|
|
269
270
|
if ((_a = this.searchBarFilters) === null || _a === void 0 ? void 0 : _a.length) {
|
|
271
|
+
const itemsMap = new Map();
|
|
270
272
|
this.searchBarFilters.forEach(item => {
|
|
273
|
+
var _a;
|
|
274
|
+
// 整理exists或者NOTEXISTS的模型
|
|
275
|
+
if (((_a = item.defsearchMode) === null || _a === void 0 ? void 0 : _a.valueOP) &&
|
|
276
|
+
['EXISTS', 'NOTEXISTS'].includes(item.defsearchMode.valueOP)) {
|
|
277
|
+
const key = `${item.appDEFieldId}_${item.defsearchMode.valueOP}`;
|
|
278
|
+
if (!itemsMap.has(key)) {
|
|
279
|
+
itemsMap.set(key, []);
|
|
280
|
+
}
|
|
281
|
+
itemsMap.get(key).push(item);
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
271
284
|
const filterController = new SearchBarFilterController(item, this.appDataEntity, this.context, this.params);
|
|
272
285
|
this.filterControllers.push(filterController);
|
|
273
286
|
});
|
|
287
|
+
// 初始化SearchBarFilterItemsController
|
|
288
|
+
if (itemsMap.size > 0) {
|
|
289
|
+
itemsMap.forEach(items => {
|
|
290
|
+
const filterController = new SearchBarFilterItemsController(items, this.appDataEntity, this.context, this.params);
|
|
291
|
+
this.filterControllers.push(filterController);
|
|
292
|
+
});
|
|
293
|
+
}
|
|
274
294
|
await Promise.all(this.filterControllers.map(controller => controller.init()));
|
|
275
295
|
}
|
|
276
296
|
}
|
|
@@ -287,9 +307,13 @@ export class SearchBarController extends ControlController {
|
|
|
287
307
|
const searchconds = calcSearchConds(this.state.filterNodes);
|
|
288
308
|
if (valueFormat && searchconds) {
|
|
289
309
|
// 给多数据加载之前进行脚本值转换
|
|
290
|
-
recursiveIterate(searchconds[0], (node) => {
|
|
310
|
+
recursiveIterate(searchconds[0], (node, parent) => {
|
|
291
311
|
if (node.condtype === 'DEFIELD' && !isNil(node.value)) {
|
|
292
|
-
|
|
312
|
+
let controller = this.findFilterController(node.fieldname, node.condop);
|
|
313
|
+
if (!controller && parent.condtype === 'ITEMS') {
|
|
314
|
+
const itemC = this.findFilterController(parent.fieldname, parent.condop);
|
|
315
|
+
controller = itemC.getSubFilterController(node.fieldname, node.condop);
|
|
316
|
+
}
|
|
293
317
|
if (controller) {
|
|
294
318
|
if (controller.valueItem && node.valueItem) {
|
|
295
319
|
node.value = node.valueItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-searchcond.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/use-searchcond.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,EAAE,CAQpD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"use-searchcond.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/use-searchcond.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,EAAE,CAQpD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,KAAK,CA+BtD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,CA+BrD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,WAAW,EAAE,GACzB,KAAK,EAAE,GAAG,SAAS,CAiBrB"}
|
|
@@ -24,6 +24,14 @@ export function getOriginFilterNodes() {
|
|
|
24
24
|
*/
|
|
25
25
|
export function formatFilters(node) {
|
|
26
26
|
if (!node.leaf) {
|
|
27
|
+
if (node.logicType === 'ITEMS') {
|
|
28
|
+
return {
|
|
29
|
+
condtype: 'ITEMS',
|
|
30
|
+
fieldname: node.field,
|
|
31
|
+
condop: node.valueOP,
|
|
32
|
+
searchconds: node.children.map(item => formatFilters(item)),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
27
35
|
return {
|
|
28
36
|
condtype: 'GROUP',
|
|
29
37
|
condop: node.logicType,
|
|
@@ -58,6 +66,15 @@ export function parseFilters(data) {
|
|
|
58
66
|
children: (data.searchconds || []).map((item) => parseFilters(item)),
|
|
59
67
|
};
|
|
60
68
|
}
|
|
69
|
+
if (data.condtype === 'ITEMS') {
|
|
70
|
+
return {
|
|
71
|
+
leaf: false,
|
|
72
|
+
logicType: 'ITEMS',
|
|
73
|
+
field: data.fieldname || null,
|
|
74
|
+
valueOP: data.condop || null,
|
|
75
|
+
children: (data.searchconds || []).map((item) => parseFilters(item)),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
61
78
|
if (data.condtype === 'DEFIELD') {
|
|
62
79
|
return {
|
|
63
80
|
leaf: true,
|
|
@@ -15,7 +15,14 @@ export interface IFilterBranchNode {
|
|
|
15
15
|
* @date 2023-10-12 05:21:18
|
|
16
16
|
* @type {('AND' | 'OR')}
|
|
17
17
|
*/
|
|
18
|
-
logicType: 'AND' | 'OR';
|
|
18
|
+
logicType: 'AND' | 'OR' | 'ITEMS';
|
|
19
|
+
/**
|
|
20
|
+
* 实体属性名称
|
|
21
|
+
* @author lxm
|
|
22
|
+
* @date 2023-10-13 02:35:42
|
|
23
|
+
* @type {string}
|
|
24
|
+
*/
|
|
25
|
+
field?: string | null;
|
|
19
26
|
/**
|
|
20
27
|
* 过滤项值
|
|
21
28
|
* @author lxm
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-search-bar.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/control/i-search-bar.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;;;;OAKG;IACH,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"i-search-bar.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/control/i-search-bar.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;;;;OAKG;IACH,SAAS,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC;IAElC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;;;;OAKG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;;;;OAKG;IACH,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAEtB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAE9D,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,iBAAiB,EAAE,eAAe,GAAG,IAAI,CAAC;IAE1C;;;;;OAKG;IACH,WAAW,EAAE,WAAW,EAAE,CAAC;IAE3B;;;;;OAKG;IACH,uBAAuB,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAEvD;;;;;OAKG;IACH,eAAe,EAAE,sBAAsB,EAAE,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAEnC;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,eAAe,EAAE,gBAAgB,CAAC;IAElC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -13,9 +13,10 @@ export interface IAppDeAuthorityService {
|
|
|
13
13
|
* @param {string} dataAccessAction 操作标识
|
|
14
14
|
* @param {IData | undefined} data 实体数据
|
|
15
15
|
* @param {IContext} context 上下文
|
|
16
|
+
* @param {boolean} enablePermission 是否启用权限
|
|
16
17
|
* @return {*} {Promise<boolean>}
|
|
17
18
|
*/
|
|
18
|
-
calcByDataAccessAction(dataAccessAction: string, data: IData | undefined, context: IContext): Promise<boolean>;
|
|
19
|
+
calcByDataAccessAction(dataAccessAction: string, data: IData | undefined, context: IContext, enablePermission: boolean): Promise<boolean>;
|
|
19
20
|
/**
|
|
20
21
|
* 设置实体数据权限标识
|
|
21
22
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-app-de-authority.service.d.ts","sourceRoot":"","sources":["../../../../src/interface/service/service/i-app-de-authority.service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC
|
|
1
|
+
{"version":3,"file":"i-app-de-authority.service.d.ts","sourceRoot":"","sources":["../../../../src/interface/service/service/i-app-de-authority.service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;OASG;IACH,sBAAsB,CACpB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,KAAK,GAAG,SAAS,EACvB,OAAO,EAAE,QAAQ,EACjB,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/D;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnD"}
|
|
@@ -74,5 +74,12 @@ export interface IAuthService {
|
|
|
74
74
|
* @return {*} {(Promise<IAuthInfo | undefined>)}
|
|
75
75
|
*/
|
|
76
76
|
getAuthInfo(): IAuthInfo | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* 通过refreshToken换算token
|
|
79
|
+
* @author zpc
|
|
80
|
+
* @date 2024-03-15 14:24:48
|
|
81
|
+
* @return {*} {(Promise<void>)}
|
|
82
|
+
*/
|
|
83
|
+
refreshToken(): Promise<void>;
|
|
77
84
|
}
|
|
78
85
|
//# sourceMappingURL=i-auth.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/interface/service/service/i-auth.service.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;;OAMG;IACH,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC;;;;;;;;;OASG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;OAMG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3B;;;;;;OAMG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;;;;OAKG;IACH,WAAW,IAAI,SAAS,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"i-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/interface/service/service/i-auth.service.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;;OAMG;IACH,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC;;;;;;;;;OASG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;OAMG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3B;;;;;;OAMG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;;;;OAKG;IACH,WAAW,IAAI,SAAS,GAAG,SAAS,CAAC;IAErC;;;;;OAKG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B"}
|
|
@@ -13,6 +13,7 @@ export declare class V7AuthService implements IAuthService {
|
|
|
13
13
|
login(loginName: string, password: string, remember?: boolean): Promise<boolean>;
|
|
14
14
|
logout(): Promise<boolean>;
|
|
15
15
|
extendLogin(): Promise<void>;
|
|
16
|
+
refreshToken(): Promise<void>;
|
|
16
17
|
getAuthInfo(): IAuthInfo | undefined;
|
|
17
18
|
/**
|
|
18
19
|
* 加载应用数据
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v7-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/auth/v7-auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBlC,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC;IAsCb,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"v7-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/auth/v7-auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBlC,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC;IAsCb,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BnC,WAAW,IAAI,SAAS,GAAG,SAAS;IAWpC;;;;;;OAMG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7C"}
|
|
@@ -45,15 +45,15 @@ export class V7AuthService {
|
|
|
45
45
|
});
|
|
46
46
|
const { data } = res;
|
|
47
47
|
if (data && data.token) {
|
|
48
|
-
const
|
|
48
|
+
const cacheDay = remember ? 30 : 0;
|
|
49
49
|
if (remember) {
|
|
50
|
-
setCookie(CoreConst.TOKEN_REMEMBER, '1',
|
|
50
|
+
setCookie(CoreConst.TOKEN_REMEMBER, '1', cacheDay, true);
|
|
51
51
|
}
|
|
52
|
-
setCookie(CoreConst.TOKEN, data.token,
|
|
52
|
+
setCookie(CoreConst.TOKEN, data.token, cacheDay, true);
|
|
53
53
|
const expiredDate = new Date().getTime() + (data.expirein || 7199) * 1000;
|
|
54
|
-
setCookie(CoreConst.TOKEN_EXPIRES, `${expiredDate}`,
|
|
54
|
+
setCookie(CoreConst.TOKEN_EXPIRES, `${expiredDate}`, cacheDay, true);
|
|
55
55
|
if (data.refresh_token) {
|
|
56
|
-
setCookie(CoreConst.REFRESH_TOKEN, data.refresh_token,
|
|
56
|
+
setCookie(CoreConst.REFRESH_TOKEN, data.refresh_token, cacheDay, true);
|
|
57
57
|
}
|
|
58
58
|
clearCookie(CoreConst.IS_ANONYMOUS);
|
|
59
59
|
}
|
|
@@ -102,7 +102,7 @@ export class V7AuthService {
|
|
|
102
102
|
setTimeout(async () => {
|
|
103
103
|
const remember = getCookie(CoreConst.TOKEN_REMEMBER);
|
|
104
104
|
const refreshToken = getCookie(CoreConst.REFRESH_TOKEN);
|
|
105
|
-
const cacheDay = remember ?
|
|
105
|
+
const cacheDay = remember ? 30 : 0;
|
|
106
106
|
let res;
|
|
107
107
|
if (refreshToken != null && refreshToken !== '') {
|
|
108
108
|
res = await ibiz.net.get(`/uaa/refresh_token/${refreshToken}`);
|
|
@@ -111,6 +111,9 @@ export class V7AuthService {
|
|
|
111
111
|
res = await ibiz.net.get(`/uaa/refreshtoken2`);
|
|
112
112
|
}
|
|
113
113
|
if (res.ok) {
|
|
114
|
+
if (remember) {
|
|
115
|
+
setCookie(CoreConst.TOKEN_REMEMBER, '1', cacheDay, true);
|
|
116
|
+
}
|
|
114
117
|
setCookie(CoreConst.TOKEN, res.data.token, cacheDay, true);
|
|
115
118
|
const expiredDate = new Date().getTime() + (res.data.expirein || 7199) * 1000;
|
|
116
119
|
setCookie(CoreConst.TOKEN_EXPIRES, `${expiredDate}`, cacheDay, true);
|
|
@@ -129,6 +132,26 @@ export class V7AuthService {
|
|
|
129
132
|
}, wait);
|
|
130
133
|
}
|
|
131
134
|
}
|
|
135
|
+
async refreshToken() {
|
|
136
|
+
const remember = getCookie(CoreConst.TOKEN_REMEMBER);
|
|
137
|
+
const refreshToken = getCookie(CoreConst.REFRESH_TOKEN);
|
|
138
|
+
if (refreshToken != null && refreshToken !== '') {
|
|
139
|
+
const res = await ibiz.net.get(`/uaa/refresh_token/${refreshToken}`);
|
|
140
|
+
if (res.ok) {
|
|
141
|
+
const cacheDay = remember ? 30 : 0;
|
|
142
|
+
if (remember) {
|
|
143
|
+
setCookie(CoreConst.TOKEN_REMEMBER, '1', cacheDay, true);
|
|
144
|
+
}
|
|
145
|
+
setCookie(CoreConst.TOKEN, res.data.token, cacheDay, true);
|
|
146
|
+
const expiredDate = new Date().getTime() + (res.data.expirein || 7199) * 1000;
|
|
147
|
+
setCookie(CoreConst.TOKEN_EXPIRES, `${expiredDate}`, cacheDay, true);
|
|
148
|
+
if (res.data.refresh_token) {
|
|
149
|
+
setCookie(CoreConst.REFRESH_TOKEN, res.data.refresh_token, cacheDay, true);
|
|
150
|
+
}
|
|
151
|
+
clearCookie(CoreConst.IS_ANONYMOUS);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
132
155
|
getAuthInfo() {
|
|
133
156
|
const token = getCookie(CoreConst.TOKEN);
|
|
134
157
|
const isAnonymous = !!getCookie(CoreConst.IS_ANONYMOUS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authority.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/authority/authority.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IA2Cf,SAAS,CAAC,QAAQ,EAAE,YAAY;IA1C5C;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAa;IAEjE;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAC7B,MAAM,EACN,CAAC,WAAW,EAAE,cAAc,KAAK,OAAO,CAAC,sBAAsB,CAAC,CACjE,CAAa;IAEd;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAM;IAElC;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;gBAEtB,QAAQ,EAAE,YAAY;IAE5C;;;;;;;;;OASG;IACH,QAAQ,CACN,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,CACX,WAAW,EAAE,cAAc,KACxB,OAAO,CAAC,sBAAsB,CAAC,GACnC,IAAI;IAIP;;;;;;;;OAQG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAsB7D;;;;;;;OAOG;IACG,IAAI,CAAC,OAAO,oBAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAejD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"authority.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/authority/authority.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IA2Cf,SAAS,CAAC,QAAQ,EAAE,YAAY;IA1C5C;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAa;IAEjE;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAC7B,MAAM,EACN,CAAC,WAAW,EAAE,cAAc,KAAK,OAAO,CAAC,sBAAsB,CAAC,CACjE,CAAa;IAEd;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAM;IAElC;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;gBAEtB,QAAQ,EAAE,YAAY;IAE5C;;;;;;;;;OASG;IACH,QAAQ,CACN,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,CACX,WAAW,EAAE,cAAc,KACxB,OAAO,CAAC,sBAAsB,CAAC,GACnC,IAAI;IAIP;;;;;;;;OAQG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAsB7D;;;;;;;OAOG;IACG,IAAI,CAAC,OAAO,oBAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAejD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIvC;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;CA+BpB"}
|
|
@@ -145,7 +145,7 @@ export class AuthorityService {
|
|
|
145
145
|
// 有实体标识走实体权限的校验(不一定需要数据,可以使用附属主实体的操作标识)
|
|
146
146
|
if (appDeId) {
|
|
147
147
|
const service = await this.getService(appDeId);
|
|
148
|
-
return service.calcByDataAccessAction(dataAccessAction, data, context);
|
|
148
|
+
return service.calcByDataAccessAction(dataAccessAction, data, context, this.enablePermission);
|
|
149
149
|
}
|
|
150
150
|
return result;
|
|
151
151
|
}
|
|
@@ -34,9 +34,10 @@ export declare class DeAuthorityService implements IAppDeAuthorityService {
|
|
|
34
34
|
* @param {string} dataAccessAction 操作标识
|
|
35
35
|
* @param {IData} data 实体数据
|
|
36
36
|
* @param {IContext} context 上下文
|
|
37
|
+
* @param {boolean} enablePermission 是否启用权限
|
|
37
38
|
* @return {*} {Promise<boolean>}
|
|
38
39
|
*/
|
|
39
|
-
calcByDataAccessAction(dataAccessAction: string, data: IData | undefined, context: IContext): Promise<boolean>;
|
|
40
|
+
calcByDataAccessAction(dataAccessAction: string, data: IData | undefined, context: IContext, enablePermission: boolean): Promise<boolean>;
|
|
40
41
|
/**
|
|
41
42
|
* 计算实体附属主实体控制操作标识
|
|
42
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de-authority.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/authority/de-authority.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAQ5D,qBAAa,kBAAmB,YAAW,sBAAsB;IACnD,SAAS,CAAC,WAAW,EAAE,cAAc;gBAA3B,WAAW,EAAE,cAAc;IAEjD;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE5D;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAU9D;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIjD
|
|
1
|
+
{"version":3,"file":"de-authority.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/authority/de-authority.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAQ5D,qBAAa,kBAAmB,YAAW,sBAAsB;IACnD,SAAS,CAAC,WAAW,EAAE,cAAc;gBAA3B,WAAW,EAAE,cAAc;IAEjD;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE5D;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAU9D;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIjD;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,KAAK,GAAG,SAAS,EACvB,OAAO,EAAE,QAAQ,EACjB,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,OAAO,CAAC;IAyBnB;;OAEG;cACa,sBAAsB,CACpC,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA2B9B;;;;;;;;;;;OAWG;cACa,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,KAAK,GAAG,SAAS,EACvB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,OAAO,CAAC;IAkDnB;;;;;;;;OAQG;cACa,iBAAiB,CAC/B,gBAAgB,EAAE,MAAM,EACxB,IAAI,GAAE,KAAU,GACf,OAAO,CAAC,OAAO,CAAC;CAqCpB"}
|
|
@@ -42,13 +42,16 @@ export class DeAuthorityService {
|
|
|
42
42
|
* @param {string} dataAccessAction 操作标识
|
|
43
43
|
* @param {IData} data 实体数据
|
|
44
44
|
* @param {IContext} context 上下文
|
|
45
|
+
* @param {boolean} enablePermission 是否启用权限
|
|
45
46
|
* @return {*} {Promise<boolean>}
|
|
46
47
|
*/
|
|
47
|
-
async calcByDataAccessAction(dataAccessAction, data, context) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
async calcByDataAccessAction(dataAccessAction, data, context, enablePermission) {
|
|
49
|
+
if (enablePermission) {
|
|
50
|
+
// 判断实体数据权限
|
|
51
|
+
const deDataAccActionResult = await this.calcDeDataAccAction(dataAccessAction, data, context);
|
|
52
|
+
if (!deDataAccActionResult) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
52
55
|
}
|
|
53
56
|
// 判断主状态的权限
|
|
54
57
|
const mainStateResult = await this.calcByDeMainState(dataAccessAction, data);
|
|
@@ -134,6 +137,10 @@ export class DeAuthorityService {
|
|
|
134
137
|
*/
|
|
135
138
|
async calcByDeMainState(dataAccessAction, data = {}) {
|
|
136
139
|
let result = true;
|
|
140
|
+
// 无数据时不计算主状态权限
|
|
141
|
+
if (Object.keys(data).length === 0) {
|
|
142
|
+
return result;
|
|
143
|
+
}
|
|
137
144
|
const appDataEntity = this.entityModel;
|
|
138
145
|
// 实体没有启用主状态,默认有权限
|
|
139
146
|
if (!appDataEntity.enableDEMainState) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.10",
|
|
4
4
|
"description": "控制器包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
],
|
|
17
17
|
"scripts": {
|
|
18
18
|
"dev": "tsc --watch",
|
|
19
|
-
"build": "npm run
|
|
19
|
+
"build": "npm run lint && node scripts/build.js && npm run build:rollup && tsc --build",
|
|
20
20
|
"build:rollup": "rollup -c",
|
|
21
21
|
"lint": "eslint 'src/**/*.ts'",
|
|
22
22
|
"lint:fix": "eslint --fix 'src/**/*.ts'",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"animejs": "^3.2.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@ibiz-template/core": "^0.6.
|
|
38
|
+
"@ibiz-template/core": "^0.6.10",
|
|
39
39
|
"@ibiz/model-core": "^0.1.15",
|
|
40
40
|
"@types/animejs": "^3.1.12",
|
|
41
41
|
"@types/path-browserify": "^1.0.2",
|