@ibiz-template/runtime 0.1.34 → 0.1.35

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 (45) hide show
  1. package/dist/index.esm.js +128 -101
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/de-logic/de-logic-context.d.ts +25 -5
  5. package/out/de-logic/de-logic-context.d.ts.map +1 -1
  6. package/out/de-logic/de-logic-context.js +27 -5
  7. package/out/de-logic/de-logic-node/data-set-node/data-set-node.d.ts.map +1 -1
  8. package/out/de-logic/de-logic-node/data-set-node/data-set-node.js +2 -2
  9. package/out/de-logic/de-logic-node/de-action-node/de-action-node.js +1 -1
  10. package/out/de-logic/de-logic-param/de-logic-param.js +1 -1
  11. package/out/de-logic/utils/handle-src-val.js +2 -2
  12. package/out/interface/service/service/i-app-de.service.d.ts +3 -3
  13. package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
  14. package/out/service/service/entity/de.service.d.ts +5 -4
  15. package/out/service/service/entity/de.service.d.ts.map +1 -1
  16. package/out/service/service/entity/de.service.js +9 -5
  17. package/out/ui-logic/ui-logic-context.d.ts +1 -11
  18. package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
  19. package/out/ui-logic/ui-logic-context.js +7 -11
  20. package/out/ui-logic/ui-logic-node/data-set-node/data-set-node.d.ts.map +1 -1
  21. package/out/ui-logic/ui-logic-node/data-set-node/data-set-node.js +6 -2
  22. package/out/ui-logic/ui-logic-node/de-action-node/de-action-node.js +1 -1
  23. package/out/ui-logic/ui-logic-node/de-ui-action-node/de-ui-action-node.d.ts.map +1 -1
  24. package/out/ui-logic/ui-logic-node/de-ui-action-node/de-ui-action-node.js +1 -1
  25. package/out/ui-logic/ui-logic-node/execute-de-logic-node/execute-de-logic-node.d.ts.map +1 -1
  26. package/out/ui-logic/ui-logic-node/execute-de-logic-node/execute-de-logic-node.js +1 -2
  27. package/out/ui-logic/ui-logic-param/ui-logic-param.d.ts.map +1 -1
  28. package/out/ui-logic/ui-logic-param/ui-logic-param.js +3 -2
  29. package/out/ui-logic/utils/handle-src-val.d.ts.map +1 -1
  30. package/out/ui-logic/utils/handle-src-val.js +3 -7
  31. package/package.json +2 -2
  32. package/src/de-logic/de-logic-context.ts +42 -5
  33. package/src/de-logic/de-logic-node/data-set-node/data-set-node.ts +2 -3
  34. package/src/de-logic/de-logic-node/de-action-node/de-action-node.ts +1 -1
  35. package/src/de-logic/de-logic-param/de-logic-param.ts +1 -1
  36. package/src/de-logic/utils/handle-src-val.ts +2 -2
  37. package/src/interface/service/service/i-app-de.service.ts +3 -3
  38. package/src/service/service/entity/de.service.ts +15 -6
  39. package/src/ui-logic/ui-logic-context.ts +7 -11
  40. package/src/ui-logic/ui-logic-node/data-set-node/data-set-node.ts +6 -3
  41. package/src/ui-logic/ui-logic-node/de-action-node/de-action-node.ts +1 -1
  42. package/src/ui-logic/ui-logic-node/de-ui-action-node/de-ui-action-node.ts +2 -0
  43. package/src/ui-logic/ui-logic-node/execute-de-logic-node/execute-de-logic-node.ts +3 -4
  44. package/src/ui-logic/ui-logic-param/ui-logic-param.ts +3 -2
  45. package/src/ui-logic/utils/handle-src-val.ts +3 -7
@@ -1,5 +1,10 @@
1
1
  import { IAppDEMethod, IAppDataEntity } from '@ibiz/model-core';
2
- import { IHttpResponse, ModelError, RuntimeError } from '@ibiz-template/core';
2
+ import {
3
+ IHttpResponse,
4
+ IPortalAsyncAction,
5
+ ModelError,
6
+ RuntimeError,
7
+ } from '@ibiz-template/core';
3
8
  import { DECache, calcResPath } from '../../utils';
4
9
  import { WorkFlowService } from '../work-flow/work-flow.service';
5
10
  import { Method } from './method/method';
@@ -174,14 +179,15 @@ export class DEService implements IAppDEService {
174
179
  * 实体级别 AI 聊天会话
175
180
  *
176
181
  * @author chitanda
177
- * @date 2023-10-12 11:10:00
182
+ * @date 2023-10-16 16:10:16
183
+ * @param {(data: IPortalAsyncAction) => void} onmessage
178
184
  * @param {IParams} context
179
185
  * @param {IParams} [params={}]
180
- * @param {FetchEventSourceInit} [options={}]
186
+ * @param {IData} [data={}]
181
187
  * @return {*} {Promise<void>}
182
188
  */
183
189
  aiChatSse(
184
- onmessage: (data: unknown) => void,
190
+ onmessage: (data: IPortalAsyncAction) => void,
185
191
  context: IParams,
186
192
  params: IParams = {},
187
193
  data: IData = {},
@@ -197,8 +203,11 @@ export class DEService implements IAppDEService {
197
203
  'Content-Type': 'application/json',
198
204
  },
199
205
  body: JSON.stringify(data),
200
- onmessage: (e: unknown) => {
201
- onmessage(e);
206
+ onmessage: e => {
207
+ if (e.data) {
208
+ const json = JSON.parse(e.data);
209
+ onmessage(json as IPortalAsyncAction);
210
+ }
202
211
  },
203
212
  onclose: () => {
204
213
  resolve();
@@ -22,6 +22,9 @@ export class UILogicContext {
22
22
  * 上下文
23
23
  */
24
24
  get context(): IContext {
25
+ if (Object.prototype.hasOwnProperty.call(this.params, 'context')) {
26
+ return this.params.context;
27
+ }
25
28
  return this.parameters.context;
26
29
  }
27
30
 
@@ -35,20 +38,13 @@ export class UILogicContext {
35
38
  /**
36
39
  * 视图参数
37
40
  */
38
- get viewParams(): IParams {
41
+ get viewParam(): IParams {
42
+ if (Object.prototype.hasOwnProperty.call(this.params, 'viewParam')) {
43
+ return this.params.viewParam;
44
+ }
39
45
  return this.parameters.params;
40
46
  }
41
47
 
42
- /**
43
- * Creates an instance of DELogicContext.
44
- * @author lxm
45
- * @date 2023-03-24 09:15:14
46
- * @param {Map<string, DELogicParam>} deLogicParams 实体逻辑参数集合
47
- * @param {IParams} context 上下文
48
- * @param {IData} data 数据对象
49
- * @param {IParams} viewParams 视图参数
50
- * @param {IParams} [opt] 额外参数
51
- */
52
48
  /**
53
49
  * Creates an instance of UILogicContext.
54
50
  * @author lxm
@@ -1,3 +1,4 @@
1
+ import { RuntimeModelError } from '@ibiz-template/core';
1
2
  import { IDEUIDEDataSetLogic } from '@ibiz/model-core';
2
3
  import { UILogicContext } from '../../ui-logic-context';
3
4
  import { UILogicNode } from '../ui-logic-node';
@@ -21,14 +22,16 @@ export class DataSetNode extends UILogicNode {
21
22
  dstDEUILogicParamId,
22
23
  retDEUILogicParamId,
23
24
  } = this.model;
24
- const requestData = ctx.params[dstDEUILogicParamId!];
25
+ if (!dstDEUILogicParamId) {
26
+ throw new RuntimeModelError(this.model, '缺少配置过滤参数');
27
+ }
28
+ const queryParams = ctx.params[dstDEUILogicParamId!];
25
29
  const app = ibiz.hub.getApp(ctx.context.srfappid);
26
30
  const res = await app.deService.exec(
27
31
  dstAppDataEntityId!,
28
32
  dstAppDEDataSetId!,
29
33
  ctx.context,
30
- requestData,
31
- ctx.viewParams,
34
+ queryParams,
32
35
  );
33
36
  if (res.ok) {
34
37
  ctx.params[retDEUILogicParamId!] = res.data;
@@ -35,7 +35,7 @@ export class DEActionNode extends UILogicNode {
35
35
  dstAppDEActionId!,
36
36
  ctx.context,
37
37
  requestData,
38
- ctx.viewParams,
38
+ ctx.viewParam,
39
39
  );
40
40
  if (res.ok) {
41
41
  ctx.params[retDEUILogicParamId!] = res.data;
@@ -34,6 +34,8 @@ export class DEUIActionNode extends UILogicNode {
34
34
 
35
35
  await UIActionUtil.execAndResolved(dstAppDEUIActionId!, {
36
36
  ...parameters,
37
+ context: ctx.context,
38
+ params: ctx.viewParam,
37
39
  data: actionData,
38
40
  });
39
41
  }
@@ -40,13 +40,12 @@ export class ExecuteDELogicNode extends UILogicNode {
40
40
  throw new RuntimeError(`没有找到传入参数${dstDEUILogicParamId}`);
41
41
  }
42
42
 
43
- // todo 需要传入参数格式约束
44
43
  const result = await execDELogicById(
45
44
  dstAppDELogicId,
46
45
  dstAppDataEntityId,
47
- dstParam.context,
48
- dstParam.data,
49
- dstParam.params,
46
+ ctx.context,
47
+ dstParam,
48
+ ctx.params,
50
49
  );
51
50
 
52
51
  // 如果有返回值参数返回值填入。
@@ -30,7 +30,8 @@ export class UILogicParam {
30
30
  calc(ctx: UILogicContext): void {
31
31
  const tag = this.model.id!;
32
32
  const m = this.model;
33
- const { context, viewParams, data, parameters } = ctx;
33
+ const { parameters } = ctx;
34
+ const { context, params, data } = parameters;
34
35
  const app = ibiz.hub.getApp(context.srfappid);
35
36
 
36
37
  // 特殊变量的特殊处理
@@ -90,7 +91,7 @@ export class UILogicParam {
90
91
  ctx.params[tag] = {};
91
92
  } else if (m.viewNavDataParam) {
92
93
  // 视图导航数据
93
- ctx.params[tag] = viewParams;
94
+ ctx.params[tag] = params;
94
95
  } else if (m.viewSessionParam) {
95
96
  throw new ModelError(m, `未支持的逻辑参数类型: 当前视图会话`);
96
97
  }
@@ -39,17 +39,13 @@ export function handleSrcVal(
39
39
  // 没有源值类型就是逻辑参数
40
40
  const srcValueType = srcValParams.srcValueType || 'SRCDLPARAM';
41
41
  // 取属性值
42
- let srcField = srcFieldName;
42
+ const srcField = srcFieldName;
43
43
 
44
44
  let value: unknown;
45
45
  switch (srcValueType) {
46
46
  // 源逻辑参数
47
47
  case 'SRCDLPARAM':
48
48
  value = ctx.params[srcDEUILogicParamId!];
49
- // 如果是实体参数对象则转换成小写。
50
- if (ctx.isEntityParam(srcDEUILogicParamId!)) {
51
- srcField = srcField?.toLowerCase();
52
- }
53
49
  break;
54
50
  // 空值类型
55
51
  case 'NULLVALUE':
@@ -62,13 +58,13 @@ export function handleSrcVal(
62
58
  return ibiz.util.rawValue.format(srcValue);
63
59
  case 'WEBCONTEXT': // 网页请求上下文
64
60
  case 'VIEWPARAM': // 视图参数
65
- value = ctx.viewParams;
61
+ value = ctx.parameters.params;
66
62
  break;
67
63
  case 'APPLICATION': // 系统全局对象
68
64
  case 'SESSION': // 用户全局对象
69
65
  case 'APPDATA': // 应用上下文
70
66
  case 'DATACONTEXT': // 数据上下文
71
- value = ctx.context;
67
+ value = ctx.parameters.context;
72
68
  break;
73
69
  // 当前环境参数
74
70
  case 'ENVPARAM':