@ibiz-template/model-helper 0.5.3-beta.4 → 0.5.3-beta.6

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.
@@ -80,7 +80,7 @@ export declare class ModelHelper {
80
80
  * @param {ISubAppRef} subApp
81
81
  * @return {*} {Promise<void>}
82
82
  */
83
- protected initSubApp(app: IApplication, subApp: ISubAppRef): Promise<void>;
83
+ protected initSubApp(app: IApplication, subApp: ISubAppRef, sourceSubApp: IModel): Promise<void>;
84
84
  /**
85
85
  * 获取应用模型
86
86
  *
@@ -1 +1 @@
1
- {"version":3,"file":"model-helper.d.ts","sourceRoot":"","sources":["../src/model-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,UAAU,EAGX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC;;;;;;;GAOG;AACH,qBAAa,WAAW;IAgCpB,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC;IACtE,SAAS,CAAC,YAAY,EAAE,MAAM;IAC9B,SAAS,CAAC,UAAU,EAAE,OAAO;IAjC/B,SAAS,CAAC,GAAG,YAAmB;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,CAAM;IAExC;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAEpD;;;;;;;OAOG;gBAES,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,EAC5D,YAAY,EAAE,MAAM,EACpB,UAAU,GAAE,OAAc;IAKtC;;;;;;;OAOG;IACG,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5C;;;;;;;;OAQG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAA0B,GAChC,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;;;OAQG;cACa,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDlE;;;;;;;;;OASG;cACa,UAAU,CACxB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;;OAOG;IACG,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAWlE;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI7D;;;;;;;;;OASG;IACG,qBAAqB,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,EACxB,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,cAAc,CAAC;IAU1B;;;;;;;OAOG;IACH,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAatD;;;;;;;;OAQG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GACvB,OAAO,CAAC,QAAQ,CAAC;IAOpB;;;;;;;;;OASG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,CAAC;IASpB;;;;;;;;OAQG;IACG,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GACvB,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,CACpB,OAAO,GAAE,OAAO,GAAG,MAA0B,GAC5C,SAAS;IAQZ;;;;;;;;OAQG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,GAAE,OAAO,GAAG,MAA0B,GAAG,MAAM;CASxE"}
1
+ {"version":3,"file":"model-helper.d.ts","sourceRoot":"","sources":["../src/model-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,UAAU,EAGX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC;;;;;;;GAOG;AACH,qBAAa,WAAW;IAgCpB,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC;IACtE,SAAS,CAAC,YAAY,EAAE,MAAM;IAC9B,SAAS,CAAC,UAAU,EAAE,OAAO;IAjC/B,SAAS,CAAC,GAAG,YAAmB;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,CAAM;IAExC;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAEpD;;;;;;;OAOG;gBAES,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,EAC5D,YAAY,EAAE,MAAM,EACpB,UAAU,GAAE,OAAc;IAKtC;;;;;;;OAOG;IACG,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5C;;;;;;;;OAQG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAA0B,GAChC,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;;;OAQG;cACa,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDlE;;;;;;;;;OASG;cACa,UAAU,CACxB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAUhB;;;;;;;OAOG;IACG,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAWlE;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI7D;;;;;;;;;OASG;IACG,qBAAqB,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,EACxB,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,cAAc,CAAC;IAU1B;;;;;;;OAOG;IACH,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAatD;;;;;;;;OAQG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GACvB,OAAO,CAAC,QAAQ,CAAC;IAOpB;;;;;;;;;OASG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,CAAC;IAUpB;;;;;;;;OAQG;IACG,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GACvB,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,CACpB,OAAO,GAAE,OAAO,GAAG,MAA0B,GAC5C,SAAS;IAQZ;;;;;;;;OAQG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,GAAE,OAAO,GAAG,MAA0B,GAAG,MAAM;CASxE"}
@@ -88,7 +88,7 @@ export class ModelHelper {
88
88
  if (appSourceModel.getAllPSAppViews && appId === ibiz.env.appId) {
89
89
  const appViews = appSourceModel.getAllPSAppViews;
90
90
  appViews.forEach(appView => {
91
- ibiz.hub.setAppView(appView.id, appSourceModel.id);
91
+ ibiz.hub.setAppView(appView.id, appSourceModel.id, appView.priority);
92
92
  });
93
93
  }
94
94
  if (appSourceModel.getDefaultPSAppIndexView) {
@@ -118,10 +118,12 @@ export class ModelHelper {
118
118
  // 子应用模型相关处理
119
119
  {
120
120
  const { subAppRefs = [] } = app.model;
121
+ const { getAllPSSubAppRefs = [] } = appSourceModel;
121
122
  for (let i = 0; i < subAppRefs.length; i++) {
122
123
  const subApp = subAppRefs[i];
124
+ const sourceSubApp = getAllPSSubAppRefs[i];
123
125
  // eslint-disable-next-line no-await-in-loop
124
- await this.initSubApp(app, subApp);
126
+ await this.initSubApp(app, subApp, sourceSubApp);
125
127
  }
126
128
  }
127
129
  }
@@ -135,11 +137,13 @@ export class ModelHelper {
135
137
  * @param {ISubAppRef} subApp
136
138
  * @return {*} {Promise<void>}
137
139
  */
138
- async initSubApp(app, subApp) {
140
+ async initSubApp(app, subApp, sourceSubApp) {
139
141
  this.subAppRefs.push(subApp);
140
142
  const ids = subApp.appViewIds || [];
141
- ids.forEach(id => {
142
- ibiz.hub.setAppView(id, subApp.id);
143
+ const views = sourceSubApp.getAllPSAppViews || [];
144
+ ids.forEach((id, index) => {
145
+ const view = views[index];
146
+ ibiz.hub.setAppView(id, subApp.id, view.priority);
143
147
  });
144
148
  }
145
149
  /**
@@ -236,7 +240,7 @@ export class ModelHelper {
236
240
  * @return {*} {Promise<IAppView>}
237
241
  */
238
242
  async loadAppViewModel(viewId, params, appId) {
239
- const model = await this.getModelUtil(appId).getAppViewModel(viewId, params);
243
+ const model = await this.getModelUtil(appId).getAppViewModel(viewId, params, true);
240
244
  const dsl = this.dsl.appView(model);
241
245
  return dsl;
242
246
  }
@@ -98,12 +98,13 @@ export declare class ModelUtil {
98
98
  * 根据应用视图 id 获取应用视图模型,如果给了 params 则每次都会重新加载模型
99
99
  *
100
100
  * @author chitanda
101
- * @date 2024-01-08 11:01:39
101
+ * @date 2024-01-15 12:01:36
102
102
  * @param {string} tag
103
103
  * @param {IParams} [params]
104
+ * @param {boolean} [isDynamic]
104
105
  * @return {*} {Promise<IModel>}
105
106
  */
106
- getAppViewModel(tag: string, params?: IParams): Promise<IModel>;
107
+ getAppViewModel(tag: string, params?: IParams, isDynamic?: boolean): Promise<IModel>;
107
108
  /**
108
109
  * 加载应用多语言模型
109
110
  *
@@ -126,12 +127,13 @@ export declare class ModelUtil {
126
127
  * 加载模型,如果给了 params 则不会缓存模型
127
128
  *
128
129
  * @author chitanda
129
- * @date 2024-01-08 11:01:41
130
+ * @date 2024-01-15 12:01:57
130
131
  * @param {string} modelPath
131
132
  * @param {IParams} [params]
133
+ * @param {boolean} [isDynamic]
132
134
  * @return {*} {Promise<IModel>}
133
135
  */
134
- getModel(modelPath: string, params?: IParams): Promise<IModel>;
136
+ getModel(modelPath: string, params?: IParams, isDynamic?: boolean): Promise<IModel>;
135
137
  /**
136
138
  * 递归填充应用标识
137
139
  *
@@ -145,21 +147,23 @@ export declare class ModelUtil {
145
147
  * 计算应用模型请求路径
146
148
  *
147
149
  * @author chitanda
148
- * @date 2023-04-16 12:04:03
150
+ * @date 2024-01-15 12:01:45
149
151
  * @protected
150
152
  * @param {string} modelPath
153
+ * @param {boolean} [isDynamic=false]
151
154
  * @return {*} {string}
152
155
  */
153
- protected calcAppPath(modelPath: string): string;
156
+ protected calcAppPath(modelPath: string, isDynamic?: boolean): string;
154
157
  /**
155
158
  * 计算子应用模型请求路径
156
159
  *
157
160
  * @author chitanda
158
- * @date 2023-04-16 12:04:14
161
+ * @date 2024-01-15 12:01:39
159
162
  * @protected
160
163
  * @param {string} modelPath
164
+ * @param {boolean} [isDynamic=false]
161
165
  * @return {*} {string}
162
166
  */
163
- protected calcSubAppPath(modelPath: string): string;
167
+ protected calcSubAppPath(modelPath: string, isDynamic?: boolean): string;
164
168
  }
165
169
  //# sourceMappingURL=model-util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-util.d.ts","sourceRoot":"","sources":["../src/model-util.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0B,eAAe,EAAE,MAAM,SAAS,CAAC;AAGlE;;;;;;;GAOG;AACH,qBAAa,SAAS;IAyClB,SAAS,CAAC,KAAK,EAAE,MAAM;IACvB,SAAS,CAAC,QAAQ,EAAE,MAAM;IAC1B,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC;IACjE,SAAS,CAAC,GAAG,EAAE,OAAO;IACtB,SAAS,CAAC,UAAU,EAAE,OAAO;IA5C/B;;;;;;;OAOG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAEtD;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAG,MAAM,CAAC;IAE5B;;;;;;OAMG;IACH,eAAe,EAAG,eAAe,CAAC;IAElC;;;;;;;;;OASG;gBAES,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,EACvD,GAAG,EAAE,OAAO,EACZ,UAAU,GAAE,OAAc;IAGtC;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD3B;;;;;;;OAOG;cACa,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAWhD;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAepC;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqB3C;;;;;;;;;OASG;IACG,qBAAqB,CACzB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,OAAc,EACpB,UAAU,GAAE,OAAe,GAC1B,OAAO,CAAC,MAAM,CAAC;IA2BlB;;;;;;;;OAQG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAerE;;;;;;;OAOG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAarD;;;;;;;OAOG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUjD;;;;;;;;OAQG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBpE;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAmB5C;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAMhD;;;;;;;;OAQG;IACH,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAKpD"}
1
+ {"version":3,"file":"model-util.d.ts","sourceRoot":"","sources":["../src/model-util.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0B,eAAe,EAAE,MAAM,SAAS,CAAC;AAGlE;;;;;;;GAOG;AACH,qBAAa,SAAS;IAyClB,SAAS,CAAC,KAAK,EAAE,MAAM;IACvB,SAAS,CAAC,QAAQ,EAAE,MAAM;IAC1B,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC;IACjE,SAAS,CAAC,GAAG,EAAE,OAAO;IACtB,SAAS,CAAC,UAAU,EAAE,OAAO;IA5C/B;;;;;;;OAOG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAEtD;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAG,MAAM,CAAC;IAE5B;;;;;;OAMG;IACH,eAAe,EAAG,eAAe,CAAC;IAElC;;;;;;;;;OASG;gBAES,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,EACvD,GAAG,EAAE,OAAO,EACZ,UAAU,GAAE,OAAc;IAGtC;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD3B;;;;;;;OAOG;cACa,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAWhD;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAepC;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqB3C;;;;;;;;;OASG;IACG,qBAAqB,CACzB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,OAAc,EACpB,UAAU,GAAE,OAAe,GAC1B,OAAO,CAAC,MAAM,CAAC;IA2BlB;;;;;;;;;OASG;IACG,eAAe,CACnB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,MAAM,CAAC;IAelB;;;;;;;OAOG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAarD;;;;;;;OAOG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUjD;;;;;;;;;OASG;IACG,QAAQ,CACZ,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,MAAM,CAAC;IAmBlB;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAmB5C;;;;;;;;;OASG;IACH,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe,GAAG,MAAM;IAS5E;;;;;;;;;OASG;IACH,SAAS,CAAC,cAAc,CACtB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,OAAe,GACzB,MAAM;CAQV"}
package/out/model-util.js CHANGED
@@ -196,19 +196,20 @@ export class ModelUtil {
196
196
  * 根据应用视图 id 获取应用视图模型,如果给了 params 则每次都会重新加载模型
197
197
  *
198
198
  * @author chitanda
199
- * @date 2024-01-08 11:01:39
199
+ * @date 2024-01-15 12:01:36
200
200
  * @param {string} tag
201
201
  * @param {IParams} [params]
202
+ * @param {boolean} [isDynamic]
202
203
  * @return {*} {Promise<IModel>}
203
204
  */
204
- async getAppViewModel(tag, params) {
205
+ async getAppViewModel(tag, params, isDynamic) {
205
206
  const allViews = this.appModel.getAllPSAppViews;
206
207
  if (allViews && allViews.length > 0) {
207
208
  const lowerTag = tag.toLowerCase();
208
209
  const exTag = `.${lowerTag}`;
209
210
  const view = allViews.find(v => v.id.endsWith(exTag) || v.id === lowerTag);
210
211
  if (view) {
211
- return this.getModel(view.path, params);
212
+ return this.getModel(view.path, params, isDynamic);
212
213
  }
213
214
  }
214
215
  throw new Error(`应用[${this.appId}]未找到视图[${tag}]`);
@@ -255,18 +256,19 @@ export class ModelUtil {
255
256
  * 加载模型,如果给了 params 则不会缓存模型
256
257
  *
257
258
  * @author chitanda
258
- * @date 2024-01-08 11:01:41
259
+ * @date 2024-01-15 12:01:57
259
260
  * @param {string} modelPath
260
261
  * @param {IParams} [params]
262
+ * @param {boolean} [isDynamic]
261
263
  * @return {*} {Promise<IModel>}
262
264
  */
263
- async getModel(modelPath, params) {
265
+ async getModel(modelPath, params, isDynamic) {
264
266
  let url;
265
267
  if (this.hub) {
266
- url = this.calcAppPath(modelPath);
268
+ url = this.calcAppPath(modelPath, isDynamic);
267
269
  }
268
270
  else {
269
- url = this.calcSubAppPath(modelPath);
271
+ url = this.calcSubAppPath(modelPath, isDynamic);
270
272
  }
271
273
  const isParams = params && !isEmpty(params);
272
274
  if (this.modelCache.has(url) && !isParams) {
@@ -310,24 +312,32 @@ export class ModelUtil {
310
312
  * 计算应用模型请求路径
311
313
  *
312
314
  * @author chitanda
313
- * @date 2023-04-16 12:04:03
315
+ * @date 2024-01-15 12:01:45
314
316
  * @protected
315
317
  * @param {string} modelPath
318
+ * @param {boolean} [isDynamic=false]
316
319
  * @return {*} {string}
317
320
  */
318
- calcAppPath(modelPath) {
321
+ calcAppPath(modelPath, isDynamic = false) {
322
+ if (isDynamic) {
323
+ return formatPath(modelPath);
324
+ }
319
325
  return `${formatPath(modelPath)}${this.modelTag ? `?dynamodeltag=${this.modelTag}` : ''}`;
320
326
  }
321
327
  /**
322
328
  * 计算子应用模型请求路径
323
329
  *
324
330
  * @author chitanda
325
- * @date 2023-04-16 12:04:14
331
+ * @date 2024-01-15 12:01:39
326
332
  * @protected
327
333
  * @param {string} modelPath
334
+ * @param {boolean} [isDynamic=false]
328
335
  * @return {*} {string}
329
336
  */
330
- calcSubAppPath(modelPath) {
337
+ calcSubAppPath(modelPath, isDynamic = false) {
338
+ if (isDynamic) {
339
+ return `/subapps/${this.appId}${formatPath(modelPath)}`;
340
+ }
331
341
  return `/subapps/${this.appId}${formatPath(modelPath)}?dynamodeltag=${this.modelTag}`;
332
342
  }
333
343
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/model-helper",
3
- "version": "0.5.3-beta.4",
3
+ "version": "0.5.3-beta.6",
4
4
  "description": "控制器包",
5
5
  "main": "out/index.js",
6
6
  "types": "out/index.d.ts",
@@ -29,13 +29,13 @@
29
29
  "author": "chitanda",
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
- "@ibiz/model-core": "^0.1.2",
33
- "@ibiz/rt-model-api": "^0.1.39",
32
+ "@ibiz/model-core": "^0.1.3",
33
+ "@ibiz/rt-model-api": "^0.1.40",
34
34
  "pluralize": "^8.0.0",
35
35
  "ramda": "^0.29.1"
36
36
  },
37
37
  "devDependencies": {
38
- "@ibiz-template/runtime": "^0.5.3-beta.4",
38
+ "@ibiz-template/runtime": "^0.5.3-beta.6",
39
39
  "@types/pluralize": "^0.0.33",
40
40
  "@types/ramda": "^0.29.9"
41
41
  },
@@ -43,5 +43,5 @@
43
43
  "@ibiz-template/runtime": "^0.5.0-beta.0",
44
44
  "ramda": "^0.29.0"
45
45
  },
46
- "gitHead": "ed060fe1367c03eb252f52ac33a93ee7350733e3"
46
+ "gitHead": "fd9a03832183acb0fbdfc3592b1ff820257c2783"
47
47
  }
@@ -115,7 +115,7 @@ export class ModelHelper {
115
115
  if (appSourceModel.getAllPSAppViews && appId === ibiz.env.appId) {
116
116
  const appViews = appSourceModel.getAllPSAppViews as IModel[];
117
117
  appViews.forEach(appView => {
118
- ibiz.hub.setAppView(appView.id, appSourceModel.id);
118
+ ibiz.hub.setAppView(appView.id, appSourceModel.id, appView.priority);
119
119
  });
120
120
  }
121
121
  if (appSourceModel.getDefaultPSAppIndexView) {
@@ -150,10 +150,12 @@ export class ModelHelper {
150
150
  // 子应用模型相关处理
151
151
  {
152
152
  const { subAppRefs = [] } = app.model;
153
+ const { getAllPSSubAppRefs = [] } = appSourceModel;
153
154
  for (let i = 0; i < subAppRefs.length; i++) {
154
155
  const subApp = subAppRefs[i];
156
+ const sourceSubApp = getAllPSSubAppRefs[i];
155
157
  // eslint-disable-next-line no-await-in-loop
156
- await this.initSubApp(app, subApp);
158
+ await this.initSubApp(app, subApp, sourceSubApp);
157
159
  }
158
160
  }
159
161
  }
@@ -171,11 +173,14 @@ export class ModelHelper {
171
173
  protected async initSubApp(
172
174
  app: IApplication,
173
175
  subApp: ISubAppRef,
176
+ sourceSubApp: IModel,
174
177
  ): Promise<void> {
175
178
  this.subAppRefs.push(subApp);
176
179
  const ids = subApp.appViewIds || [];
177
- ids.forEach(id => {
178
- ibiz.hub.setAppView(id, subApp.id);
180
+ const views = sourceSubApp.getAllPSAppViews || [];
181
+ ids.forEach((id, index) => {
182
+ const view = views[index];
183
+ ibiz.hub.setAppView(id, subApp.id, view.priority);
179
184
  });
180
185
  }
181
186
 
@@ -292,6 +297,7 @@ export class ModelHelper {
292
297
  const model = await this.getModelUtil(appId).getAppViewModel(
293
298
  viewId,
294
299
  params,
300
+ true,
295
301
  );
296
302
  const dsl = this.dsl.appView(model) as IAppView;
297
303
  return dsl;
package/src/model-util.ts CHANGED
@@ -233,12 +233,17 @@ export class ModelUtil {
233
233
  * 根据应用视图 id 获取应用视图模型,如果给了 params 则每次都会重新加载模型
234
234
  *
235
235
  * @author chitanda
236
- * @date 2024-01-08 11:01:39
236
+ * @date 2024-01-15 12:01:36
237
237
  * @param {string} tag
238
238
  * @param {IParams} [params]
239
+ * @param {boolean} [isDynamic]
239
240
  * @return {*} {Promise<IModel>}
240
241
  */
241
- async getAppViewModel(tag: string, params?: IParams): Promise<IModel> {
242
+ async getAppViewModel(
243
+ tag: string,
244
+ params?: IParams,
245
+ isDynamic?: boolean,
246
+ ): Promise<IModel> {
242
247
  const allViews = this.appModel.getAllPSAppViews as IModel[];
243
248
  if (allViews && allViews.length > 0) {
244
249
  const lowerTag = tag.toLowerCase();
@@ -247,7 +252,7 @@ export class ModelUtil {
247
252
  v => v.id.endsWith(exTag) || v.id === lowerTag,
248
253
  );
249
254
  if (view) {
250
- return this.getModel(view.path, params);
255
+ return this.getModel(view.path, params, isDynamic);
251
256
  }
252
257
  }
253
258
  throw new Error(`应用[${this.appId}]未找到视图[${tag}]`);
@@ -296,17 +301,22 @@ export class ModelUtil {
296
301
  * 加载模型,如果给了 params 则不会缓存模型
297
302
  *
298
303
  * @author chitanda
299
- * @date 2024-01-08 11:01:41
304
+ * @date 2024-01-15 12:01:57
300
305
  * @param {string} modelPath
301
306
  * @param {IParams} [params]
307
+ * @param {boolean} [isDynamic]
302
308
  * @return {*} {Promise<IModel>}
303
309
  */
304
- async getModel(modelPath: string, params?: IParams): Promise<IModel> {
310
+ async getModel(
311
+ modelPath: string,
312
+ params?: IParams,
313
+ isDynamic?: boolean,
314
+ ): Promise<IModel> {
305
315
  let url: string;
306
316
  if (this.hub) {
307
- url = this.calcAppPath(modelPath);
317
+ url = this.calcAppPath(modelPath, isDynamic);
308
318
  } else {
309
- url = this.calcSubAppPath(modelPath);
319
+ url = this.calcSubAppPath(modelPath, isDynamic);
310
320
  }
311
321
  const isParams = params && !isEmpty(params);
312
322
  if (this.modelCache.has(url) && !isParams) {
@@ -351,12 +361,16 @@ export class ModelUtil {
351
361
  * 计算应用模型请求路径
352
362
  *
353
363
  * @author chitanda
354
- * @date 2023-04-16 12:04:03
364
+ * @date 2024-01-15 12:01:45
355
365
  * @protected
356
366
  * @param {string} modelPath
367
+ * @param {boolean} [isDynamic=false]
357
368
  * @return {*} {string}
358
369
  */
359
- protected calcAppPath(modelPath: string): string {
370
+ protected calcAppPath(modelPath: string, isDynamic: boolean = false): string {
371
+ if (isDynamic) {
372
+ return formatPath(modelPath);
373
+ }
360
374
  return `${formatPath(modelPath)}${
361
375
  this.modelTag ? `?dynamodeltag=${this.modelTag}` : ''
362
376
  }`;
@@ -366,12 +380,19 @@ export class ModelUtil {
366
380
  * 计算子应用模型请求路径
367
381
  *
368
382
  * @author chitanda
369
- * @date 2023-04-16 12:04:14
383
+ * @date 2024-01-15 12:01:39
370
384
  * @protected
371
385
  * @param {string} modelPath
386
+ * @param {boolean} [isDynamic=false]
372
387
  * @return {*} {string}
373
388
  */
374
- protected calcSubAppPath(modelPath: string): string {
389
+ protected calcSubAppPath(
390
+ modelPath: string,
391
+ isDynamic: boolean = false,
392
+ ): string {
393
+ if (isDynamic) {
394
+ return `/subapps/${this.appId}${formatPath(modelPath)}`;
395
+ }
375
396
  return `/subapps/${this.appId}${formatPath(modelPath)}?dynamodeltag=${
376
397
  this.modelTag
377
398
  }`;