@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.
Files changed (29) hide show
  1. package/dist/index.esm.js +310 -84
  2. package/dist/index.system.min.js +1 -1
  3. package/out/controller/control/search-bar/index.d.ts +1 -0
  4. package/out/controller/control/search-bar/index.d.ts.map +1 -1
  5. package/out/controller/control/search-bar/index.js +1 -0
  6. package/out/controller/control/search-bar/search-bar-filter-items.controller.d.ts +81 -0
  7. package/out/controller/control/search-bar/search-bar-filter-items.controller.d.ts.map +1 -0
  8. package/out/controller/control/search-bar/search-bar-filter-items.controller.js +134 -0
  9. package/out/controller/control/search-bar/search-bar-filter.controller.d.ts.map +1 -1
  10. package/out/controller/control/search-bar/search-bar-filter.controller.js +2 -0
  11. package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
  12. package/out/controller/control/search-bar/search-bar.controller.js +26 -2
  13. package/out/controller/control/search-bar/use-searchcond.d.ts.map +1 -1
  14. package/out/controller/control/search-bar/use-searchcond.js +17 -0
  15. package/out/interface/controller/state/control/i-search-bar.state.d.ts +8 -1
  16. package/out/interface/controller/state/control/i-search-bar.state.d.ts.map +1 -1
  17. package/out/interface/service/service/i-app-de-authority.service.d.ts +2 -1
  18. package/out/interface/service/service/i-app-de-authority.service.d.ts.map +1 -1
  19. package/out/interface/service/service/i-auth.service.d.ts +7 -0
  20. package/out/interface/service/service/i-auth.service.d.ts.map +1 -1
  21. package/out/service/service/auth/v7-auth.service.d.ts +1 -0
  22. package/out/service/service/auth/v7-auth.service.d.ts.map +1 -1
  23. package/out/service/service/auth/v7-auth.service.js +29 -6
  24. package/out/service/service/authority/authority.service.d.ts.map +1 -1
  25. package/out/service/service/authority/authority.service.js +1 -1
  26. package/out/service/service/authority/de-authority.service.d.ts +2 -1
  27. package/out/service/service/authority/de-authority.service.d.ts.map +1 -1
  28. package/out/service/service/authority/de-authority.service.js +12 -5
  29. 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,EAGrB,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
+ {"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"}
@@ -7,6 +7,8 @@ import { ValueOP } from '../../../constant';
7
7
  export const ExcludeOPs = [
8
8
  ValueOP.IS_NULL,
9
9
  ValueOP.IS_NOT_NULL,
10
+ ValueOP.EXISTS,
11
+ ValueOP.NOT_EXISTS,
10
12
  ];
11
13
  const ScriptValueRegex = /\$\{[^}]*\}/; // 匹配${xxx}格式字符串
12
14
  /**
@@ -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;AAWxD;;;;;;;;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;IAiBrD;;;;;OAKG;IACH,WAAW,CAAC,WAAW,UAAO,GAAG,KAAK,EAAE,GAAG,SAAS;IAoCpD;;;;;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"}
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
- const controller = this.findFilterController(node.fieldname, node.condop);
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,CAsBtD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,CAoBrD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,WAAW,EAAE,GACzB,KAAK,EAAE,GAAG,SAAS,CAiBrB"}
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;IAExB;;;;;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"}
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;;;;;;;;OAQG;IACH,sBAAsB,CACpB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,KAAK,GAAG,SAAS,EACvB,OAAO,EAAE,QAAQ,GAChB,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"}
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;CACtC"}
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;IAiDlC,WAAW,IAAI,SAAS,GAAG,SAAS;IAWpC;;;;;;OAMG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7C"}
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 cacheDays = remember ? 7 : 0;
48
+ const cacheDay = remember ? 30 : 0;
49
49
  if (remember) {
50
- setCookie(CoreConst.TOKEN_REMEMBER, '1', cacheDays, true);
50
+ setCookie(CoreConst.TOKEN_REMEMBER, '1', cacheDay, true);
51
51
  }
52
- setCookie(CoreConst.TOKEN, data.token, cacheDays, true);
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}`, cacheDays, true);
54
+ setCookie(CoreConst.TOKEN_EXPIRES, `${expiredDate}`, cacheDay, true);
55
55
  if (data.refresh_token) {
56
- setCookie(CoreConst.REFRESH_TOKEN, data.refresh_token, cacheDays, true);
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 ? 7 : 0;
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;CA0BpB"}
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;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,KAAK,GAAG,SAAS,EACvB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,OAAO,CAAC;IAuBnB;;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;CAiCpB"}
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
- const deDataAccActionResult = await this.calcDeDataAccAction(dataAccessAction, data, context);
50
- if (!deDataAccActionResult) {
51
- return false;
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.9",
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 test:run && npm run lint && node scripts/build.js && npm run build:rollup && tsc --build",
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.3",
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",