@ibiz-template/runtime 0.7.41-alpha.137 → 0.7.41-alpha.138

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.
@@ -1 +1 @@
1
- {"version":3,"file":"app-hub.d.ts","sourceRoot":"","sources":["../src/app-hub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-hub.d.ts","sourceRoot":"","sources":["../src/app-hub.ts"],"names":[],"mappings":"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"}
package/out/app-hub.js CHANGED
@@ -5,6 +5,7 @@ import { HubController } from './controller';
5
5
  import { ConfigService, MqttService } from './service';
6
6
  import { NoticeController } from './controller/notification';
7
7
  import { MicroAppConfigCenter } from './micro-app';
8
+ import { runWithConcurrency } from './utils';
8
9
  /**
9
10
  * 运行时总集
10
11
  *
@@ -705,29 +706,50 @@ export class AppHub {
705
706
  * @memberof AppHub
706
707
  */
707
708
  async loadMainExtensionPlugin() {
708
- // 从 1 开始递增加载扩展插件,加载失败时终止
709
- // 第一组为 ExtensionPlugin/ext,之后为 ExtensionPlugin1/ext2、ExtensionPlugin2/ext3 ...
710
- let index = 1;
711
- let success = true;
712
- do {
709
+ var _a;
710
+ const { enableExternalPlugin, concurrentPluginCount } = ibiz.appUtil.getRuntimeDevToolConfig();
711
+ if (!enableExternalPlugin) {
712
+ return;
713
+ }
714
+ // 获取扩展插件总数
715
+ let pluginListLength = 0;
716
+ const res = await ibiz.net.axios({
717
+ method: 'get',
718
+ url: `${ibiz.env.baseUrl}/${ibiz.env.appId}${ibiz.env.remoteModelUrl}/extension`,
719
+ });
720
+ if (res.status === 200 && res.data) {
721
+ pluginListLength = Number(res.data);
722
+ }
723
+ if (pluginListLength === 0)
724
+ return;
725
+ // 构建任务列表
726
+ const pluginTasks = Array.from({ length: pluginListLength }, (_, i) => {
727
+ const index = i + 1;
713
728
  const suffix = index === 1 ? '' : `${index}`;
714
729
  const targetUrl = `${ibiz.env.baseUrl}/${ibiz.env.appId}${ibiz.env.remoteModelUrl}/ext${suffix}`;
715
- try {
716
- await ibiz.plugin.loadPlugin({
717
- runtimeObject: true,
718
- rtobjectName: `ExtensionPlugin${suffix}`,
719
- rtobjectRepo: targetUrl,
720
- });
721
- index += 1;
722
- success = true;
723
- }
724
- catch (error) {
725
- ibiz.log.warn(ibiz.i18n.t('runtime.hub.noExtensionPlugin', {
726
- targetUrl,
727
- }));
728
- success = false;
729
- }
730
- } while (success);
730
+ return async () => {
731
+ try {
732
+ await ibiz.plugin.loadPlugin({
733
+ runtimeObject: true,
734
+ rtobjectName: `ExtensionPlugin${suffix}`,
735
+ rtobjectRepo: targetUrl,
736
+ });
737
+ return { ok: true, data: { index, targetUrl } };
738
+ }
739
+ catch (error) {
740
+ return { ok: false, data: { index, targetUrl, error } };
741
+ }
742
+ };
743
+ });
744
+ // 并发执行任务
745
+ const results = await runWithConcurrency(pluginTasks, concurrentPluginCount || 1);
746
+ // 处理结果
747
+ const errorResults = results.filter(result => !(result === null || result === void 0 ? void 0 : result.ok));
748
+ if (errorResults && errorResults.length > 0) {
749
+ ibiz.log.warn(ibiz.i18n.t('runtime.hub.noExtensionPlugin', {
750
+ targetUrl: ((_a = errorResults[0].data) === null || _a === void 0 ? void 0 : _a.targetUrl) || 'Unknown',
751
+ }));
752
+ }
731
753
  }
732
754
  /**
733
755
  * @description 加载指定子应用扩展插件
@@ -736,6 +758,10 @@ export class AppHub {
736
758
  * @memberof AppHub
737
759
  */
738
760
  async loadSubExtensionPlugin(appId) {
761
+ const { enableExternalPlugin } = ibiz.appUtil.getRuntimeDevToolConfig();
762
+ if (!enableExternalPlugin) {
763
+ return;
764
+ }
739
765
  const targetUrl = `${ibiz.env.baseUrl}/${ibiz.env.appId}${ibiz.env.remoteModelUrl}/subapps/${appId}/ext`;
740
766
  try {
741
767
  await ibiz.plugin.loadPlugin({
@@ -1 +1 @@
1
- {"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;GAQG;AACH,qBAAa,YAAa,YAAW,aAAa;IAEhD,IAAI,EAAE,iBAAiB,CAUrB;IAGF,IAAI,EAAE,iBAAiB,CAOrB;IAGF,OAAO,EAAE,oBAAoB,CAI3B;IAGF,QAAQ,EAAE,qBAAqB,CAE7B;IAGF,IAAI,EAAE,iBAAiB,CAWrB;IAGF,MAAM,EAAE,sBAAsB,CAG5B;IAGF,YAAY,EAAE,yBAAyB,CAErC;IAGF,YAAY,EAAE,yBAAyB,CAErC;IAGF,UAAU,EAAE,uBAAuB,CAKjC;IAGF,IAAI,EAAE,iBAAiB,CAGrB;IAGF,MAAM,EAAE,mBAAmB,CAiCzB;IAGF,KAAK,EAAE,sBAAsB,CAI3B;IAGF,iBAAiB,EAAE,MAAM,CAAM;IAG/B,iBAAiB,EAAE,SAAS,GAAG,OAAO,CAAW;IAGjD,iBAAiB,EAAE,MAAM,CAAM;IAG/B,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAQ;IAGjD,SAAS,EAAE,yBAAyB,CAmBlC;IAEF;;;;OAIG;IACH,GAAG,EAAE,gBAAgB,CAWnB;IAEF;;;;OAIG;IACH,iBAAiB,EAAE,wBAAwB,CAIzC;IAEF;;;;OAIG;IACH,WAAW,EAAE,gBAAgB,CAa3B;CACH"}
1
+ {"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;GAQG;AACH,qBAAa,YAAa,YAAW,aAAa;IAEhD,IAAI,EAAE,iBAAiB,CAUrB;IAGF,IAAI,EAAE,iBAAiB,CAOrB;IAGF,OAAO,EAAE,oBAAoB,CAI3B;IAGF,QAAQ,EAAE,qBAAqB,CAE7B;IAGF,IAAI,EAAE,iBAAiB,CAWrB;IAGF,MAAM,EAAE,sBAAsB,CAG5B;IAGF,YAAY,EAAE,yBAAyB,CAErC;IAGF,YAAY,EAAE,yBAAyB,CAErC;IAGF,UAAU,EAAE,uBAAuB,CAKjC;IAGF,IAAI,EAAE,iBAAiB,CAGrB;IAGF,MAAM,EAAE,mBAAmB,CAkCzB;IAGF,KAAK,EAAE,sBAAsB,CAI3B;IAGF,iBAAiB,EAAE,MAAM,CAAM;IAG/B,iBAAiB,EAAE,SAAS,GAAG,OAAO,CAAW;IAGjD,iBAAiB,EAAE,MAAM,CAAM;IAG/B,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAQ;IAGjD,SAAS,EAAE,yBAAyB,CAmBlC;IAEF;;;;OAIG;IACH,GAAG,EAAE,gBAAgB,CAWnB;IAEF;;;;OAIG;IACH,iBAAiB,EAAE,wBAAwB,CAIzC;IAEF;;;;OAIG;IACH,WAAW,EAAE,gBAAgB,CAa3B;CACH"}
@@ -112,6 +112,7 @@ export class GlobalConfig {
112
112
  aiAutoQuestion: true,
113
113
  asyncImport: false,
114
114
  aiTopicStorageMode: 'DEFAULT',
115
+ aiInputPlaceholder: '',
115
116
  };
116
117
  // 全局分页流布局配置
117
118
  this.drtab = {
@@ -283,5 +283,11 @@ export interface IApiGlobalCommonConfig {
283
283
  * @memberof IApiGlobalCommonConfig
284
284
  */
285
285
  aiTopicStorageMode: 'DEFAULT' | 'REMOTESESSION';
286
+ /**
287
+ * @description AI输入框空白占位
288
+ * @type {''}
289
+ * @memberof IApiGlobalCommonConfig
290
+ */
291
+ aiInputPlaceholder: '';
286
292
  }
287
293
  //# sourceMappingURL=i-api-global-common-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-api-global-common-config.d.ts","sourceRoot":"","sources":["../../../../../src/interface/api/common/global-config/i-api-global-common-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,aAAa,EAAE,SAAS,GAAG,aAAa,CAAC;IAEzC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;;;;;OAOG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;;;OAMG;IACH,gBAAgB,EAAE,SAAS,GAAG,UAAU,CAAC;IAEzC;;;;;;;OAOG;IACH,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;IAEpC;;;;;;OAMG;IACH,mBAAmB,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE1C;;;;;;;OAOG;IACH,sBAAsB,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE7C;;;;;;OAMG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,sBAAsB,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAE1D;;;;;;OAMG;IACH,8BAA8B,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAEhE;;;;;;OAMG;IACH,cAAc,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAE/C;;;;;;OAMG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;;;;;OAMG;IACH,yBAAyB,EAAE,OAAO,CAAC;IAEnC;;;;;;OAMG;IACH,yBAAyB,EAAE,OAAO,CAAC;IAEnC;;;;;;OAMG;IACH,kBAAkB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C;;;;;OAKG;IACH,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/C;;;;;;OAMG;IACH,0BAA0B,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAE9C;;;;;;;OAOG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;;;OAMG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAE5B;;;;;;;OAOG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;;;;;;OAOG;IACH,uBAAuB,EAAE,OAAO,CAAC;IAEjC;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;;;;OAOG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;;;;;OAOG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;;;;OAOG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;;;;OAOG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;;OAMG;IACH,kBAAkB,EAAE,SAAS,GAAG,eAAe,CAAC;CACjD"}
1
+ {"version":3,"file":"i-api-global-common-config.d.ts","sourceRoot":"","sources":["../../../../../src/interface/api/common/global-config/i-api-global-common-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,aAAa,EAAE,SAAS,GAAG,aAAa,CAAC;IAEzC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;;;;;OAOG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;;;OAMG;IACH,gBAAgB,EAAE,SAAS,GAAG,UAAU,CAAC;IAEzC;;;;;;;OAOG;IACH,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;IAEpC;;;;;;OAMG;IACH,mBAAmB,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE1C;;;;;;;OAOG;IACH,sBAAsB,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE7C;;;;;;OAMG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,sBAAsB,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAE1D;;;;;;OAMG;IACH,8BAA8B,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAEhE;;;;;;OAMG;IACH,cAAc,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAE/C;;;;;;OAMG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;;;;;OAMG;IACH,yBAAyB,EAAE,OAAO,CAAC;IAEnC;;;;;;OAMG;IACH,yBAAyB,EAAE,OAAO,CAAC;IAEnC;;;;;;OAMG;IACH,kBAAkB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C;;;;;OAKG;IACH,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/C;;;;;;OAMG;IACH,0BAA0B,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAE9C;;;;;;;OAOG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;;;OAMG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAE5B;;;;;;;OAOG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;;;;;;OAOG;IACH,uBAAuB,EAAE,OAAO,CAAC;IAEjC;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;;;;OAOG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;;;;;OAOG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;;;;OAOG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;;;;OAOG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;;OAMG;IACH,kBAAkB,EAAE,SAAS,GAAG,eAAe,CAAC;IAEhD;;;;OAIG;IACH,kBAAkB,EAAE,EAAE,CAAC;CACxB"}
@@ -229,5 +229,11 @@ export interface IApiAppUtil {
229
229
  * @memberof IApiAppUtil
230
230
  */
231
231
  resolveI18nText(text: string): string;
232
+ /**
233
+ * @description 获取运行时开发工具配置
234
+ * @returns {*} {IApiData}
235
+ * @memberof IApiAppUtil
236
+ */
237
+ getRuntimeDevToolConfig(): IApiData;
232
238
  }
233
239
  //# sourceMappingURL=i-api-app-util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-api-app-util.d.ts","sourceRoot":"","sources":["../../../../src/interface/api/util/i-api-app-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i-api-app-util.d.ts","sourceRoot":"","sources":["../../../../src/interface/api/util/i-api-app-util.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { IDevToolConfig } from '@ibiz-template/core';
1
2
  import { IApiAiChatParam, IApiAppUtil } from '../../api';
2
3
  /**
3
4
  * @description Ai聊天参数
@@ -14,5 +15,11 @@ export interface IAiChatParam extends IApiAiChatParam {
14
15
  * @extends {IApiAppUtil}
15
16
  */
16
17
  export interface IAppUtil extends IApiAppUtil {
18
+ /**
19
+ * @description 获取运行时开发工具配置
20
+ * @returns {*} {IDevToolConfig}
21
+ * @memberof IAppUtil
22
+ */
23
+ getRuntimeDevToolConfig(): IDevToolConfig;
17
24
  }
18
25
  //# sourceMappingURL=i-app-util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-app-util.d.ts","sourceRoot":"","sources":["../../../../src/interface/util/i-app-util/i-app-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,YAAa,SAAQ,eAAe;CAAG;AAExD;;;;;GAKG;AACH,MAAM,WAAW,QAAS,SAAQ,WAAW;CAAG"}
1
+ {"version":3,"file":"i-app-util.d.ts","sourceRoot":"","sources":["../../../../src/interface/util/i-app-util/i-app-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,YAAa,SAAQ,eAAe;CAAG;AAExD;;;;;GAKG;AACH,MAAM,WAAW,QAAS,SAAQ,WAAW;IAC3C;;;;OAIG;IACH,uBAAuB,IAAI,cAAc,CAAC;CAC3C"}
@@ -32,6 +32,7 @@ export * from './date-util';
32
32
  export { ChangeTracker } from './change-tracker/change-tracker';
33
33
  export { ViewShellHooks } from './view-shell-hooks/view-shell-hooks';
34
34
  export { WaterMarkUtil } from './water-mark-util/water-mark-util';
35
+ export { runWithConcurrency } from './task-util/task-util';
35
36
  export * from './map-util/map-util';
36
37
  export * from './wechat-util/wechat-util';
37
38
  export * from './json-util/json-util';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,yCAAyC,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,yCAAyC,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,SAAS,CAAC"}
@@ -32,6 +32,7 @@ export * from './date-util';
32
32
  export { ChangeTracker } from './change-tracker/change-tracker';
33
33
  export { ViewShellHooks } from './view-shell-hooks/view-shell-hooks';
34
34
  export { WaterMarkUtil } from './water-mark-util/water-mark-util';
35
+ export { runWithConcurrency } from './task-util/task-util';
35
36
  export * from './map-util/map-util';
36
37
  export * from './wechat-util/wechat-util';
37
38
  export * from './json-util/json-util';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 并发控制函数
3
+ * @param tasks 需要执行的任务数组
4
+ * @param concurrency 最大并发数量
5
+ * @returns 所有任务执行结果的数组(保持与输入顺序一致)
6
+ */
7
+ export declare function runWithConcurrency<T>(tasks: (() => Promise<T>)[], concurrency: number): Promise<T[]>;
8
+ //# sourceMappingURL=task-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-util.d.ts","sourceRoot":"","sources":["../../../src/utils/task-util/task-util.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,KAAK,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,EAAE,CAAC,CAkCd"}
@@ -0,0 +1,38 @@
1
+ /* eslint-disable no-plusplus */
2
+ /**
3
+ * 并发控制函数
4
+ * @param tasks 需要执行的任务数组
5
+ * @param concurrency 最大并发数量
6
+ * @returns 所有任务执行结果的数组(保持与输入顺序一致)
7
+ */
8
+ export async function runWithConcurrency(tasks, concurrency) {
9
+ const results = new Array(tasks.length);
10
+ // 使用 Map 记录正在执行的任务,防止重复领取
11
+ const executing = new Map();
12
+ let currentIndex = 0;
13
+ const runTask = async (index) => {
14
+ try {
15
+ const data = await tasks[index]();
16
+ results[index] = data;
17
+ }
18
+ finally {
19
+ // 任务完成后,从执行池中移除
20
+ executing.delete(index);
21
+ }
22
+ };
23
+ // 只要还有待处理的任务,就持续调度
24
+ while (currentIndex < tasks.length) {
25
+ // 如果当前并发数已满,等待最先完成的一个任务
26
+ if (executing.size >= concurrency) {
27
+ await Promise.race(executing.values());
28
+ continue;
29
+ }
30
+ // 领取任务并加入执行池
31
+ const index = currentIndex++;
32
+ const taskPromise = runTask(index);
33
+ executing.set(index, taskPromise);
34
+ }
35
+ // 等待所有剩余的执行中任务完成
36
+ await Promise.all(executing.values());
37
+ return results;
38
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.7.41-alpha.137",
3
+ "version": "0.7.41-alpha.138",
4
4
  "description": "运行时逻辑库",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -39,7 +39,7 @@
39
39
  "jsencrypt": "^3.3.2"
40
40
  },
41
41
  "devDependencies": {
42
- "@ibiz-template/core": "^0.7.41-alpha.119",
42
+ "@ibiz-template/core": "^0.7.41-alpha.138",
43
43
  "@ibiz/model-core": "^0.1.89",
44
44
  "@types/animejs": "^3.1.12",
45
45
  "@types/path-browserify": "^1.0.2",
@@ -70,5 +70,5 @@
70
70
  "qx-util": "^0.4.8",
71
71
  "ramda": "^0.29.0"
72
72
  },
73
- "gitHead": "a3ade180a2585cb61b2cc2ad4bc5a78894af9589"
73
+ "gitHead": "6889724e696f8f8ffb221ec57c1eb8154e1acbb3"
74
74
  }
package/src/app-hub.ts CHANGED
@@ -24,6 +24,7 @@ import { HubController } from './controller';
24
24
  import { ConfigService, MqttService } from './service';
25
25
  import { NoticeController } from './controller/notification';
26
26
  import { MicroAppConfigCenter } from './micro-app';
27
+ import { runWithConcurrency } from './utils';
27
28
 
28
29
  /**
29
30
  * 运行时总集
@@ -856,30 +857,54 @@ export class AppHub implements IAppHubService {
856
857
  * @memberof AppHub
857
858
  */
858
859
  public async loadMainExtensionPlugin(): Promise<void> {
859
- // 从 1 开始递增加载扩展插件,加载失败时终止
860
- // 第一组为 ExtensionPlugin/ext,之后为 ExtensionPlugin1/ext2、ExtensionPlugin2/ext3 ...
861
- let index = 1;
862
- let success = true;
863
- do {
860
+ const { enableExternalPlugin, concurrentPluginCount } =
861
+ ibiz.appUtil.getRuntimeDevToolConfig();
862
+ if (!enableExternalPlugin) {
863
+ return;
864
+ }
865
+ // 获取扩展插件总数
866
+ let pluginListLength: number = 0;
867
+ const res = await ibiz.net.axios({
868
+ method: 'get',
869
+ url: `${ibiz.env.baseUrl}/${ibiz.env.appId}${ibiz.env.remoteModelUrl}/extension`,
870
+ });
871
+ if (res.status === 200 && res.data) {
872
+ pluginListLength = Number(res.data);
873
+ }
874
+ if (pluginListLength === 0) return;
875
+ // 构建任务列表
876
+ const pluginTasks = Array.from({ length: pluginListLength }, (_, i) => {
877
+ const index = i + 1;
864
878
  const suffix = index === 1 ? '' : `${index}`;
865
879
  const targetUrl = `${ibiz.env.baseUrl}/${ibiz.env.appId}${ibiz.env.remoteModelUrl}/ext${suffix}`;
866
- try {
867
- await ibiz.plugin.loadPlugin({
868
- runtimeObject: true,
869
- rtobjectName: `ExtensionPlugin${suffix}`,
870
- rtobjectRepo: targetUrl,
871
- } as IAppPFPluginRef);
872
- index += 1;
873
- success = true;
874
- } catch (error) {
875
- ibiz.log.warn(
876
- ibiz.i18n.t('runtime.hub.noExtensionPlugin', {
877
- targetUrl,
878
- }),
879
- );
880
- success = false;
881
- }
882
- } while (success);
880
+ return async (): Promise<{ ok: boolean; data: IData }> => {
881
+ try {
882
+ await ibiz.plugin.loadPlugin({
883
+ runtimeObject: true,
884
+ rtobjectName: `ExtensionPlugin${suffix}`,
885
+ rtobjectRepo: targetUrl,
886
+ } as IAppPFPluginRef);
887
+
888
+ return { ok: true, data: { index, targetUrl } };
889
+ } catch (error) {
890
+ return { ok: false, data: { index, targetUrl, error } };
891
+ }
892
+ };
893
+ });
894
+ // 并发执行任务
895
+ const results = await runWithConcurrency(
896
+ pluginTasks,
897
+ concurrentPluginCount || 1,
898
+ );
899
+ // 处理结果
900
+ const errorResults = results.filter(result => !result?.ok);
901
+ if (errorResults && errorResults.length > 0) {
902
+ ibiz.log.warn(
903
+ ibiz.i18n.t('runtime.hub.noExtensionPlugin', {
904
+ targetUrl: errorResults[0].data?.targetUrl || 'Unknown',
905
+ }),
906
+ );
907
+ }
883
908
  }
884
909
 
885
910
  /**
@@ -889,6 +914,10 @@ export class AppHub implements IAppHubService {
889
914
  * @memberof AppHub
890
915
  */
891
916
  public async loadSubExtensionPlugin(appId: string): Promise<void> {
917
+ const { enableExternalPlugin } = ibiz.appUtil.getRuntimeDevToolConfig();
918
+ if (!enableExternalPlugin) {
919
+ return;
920
+ }
892
921
  const targetUrl = `${ibiz.env.baseUrl}/${ibiz.env.appId}${ibiz.env.remoteModelUrl}/subapps/${appId}/ext`;
893
922
  try {
894
923
  await ibiz.plugin.loadPlugin({
@@ -141,6 +141,7 @@ export class GlobalConfig implements IGlobalConfig {
141
141
  aiAutoQuestion: true,
142
142
  asyncImport: false,
143
143
  aiTopicStorageMode: 'DEFAULT',
144
+ aiInputPlaceholder: '',
144
145
  };
145
146
 
146
147
  // 全局分页流布局配置
@@ -316,4 +316,11 @@ export interface IApiGlobalCommonConfig {
316
316
  * @memberof IApiGlobalCommonConfig
317
317
  */
318
318
  aiTopicStorageMode: 'DEFAULT' | 'REMOTESESSION';
319
+
320
+ /**
321
+ * @description AI输入框空白占位
322
+ * @type {''}
323
+ * @memberof IApiGlobalCommonConfig
324
+ */
325
+ aiInputPlaceholder: '';
319
326
  }
@@ -277,4 +277,11 @@ export interface IApiAppUtil {
277
277
  * @memberof IApiAppUtil
278
278
  */
279
279
  resolveI18nText(text: string): string;
280
+
281
+ /**
282
+ * @description 获取运行时开发工具配置
283
+ * @returns {*} {IApiData}
284
+ * @memberof IApiAppUtil
285
+ */
286
+ getRuntimeDevToolConfig(): IApiData;
280
287
  }
@@ -1,3 +1,4 @@
1
+ import { IDevToolConfig } from '@ibiz-template/core';
1
2
  import { IApiAiChatParam, IApiAppUtil } from '../../api';
2
3
 
3
4
  /**
@@ -14,4 +15,11 @@ export interface IAiChatParam extends IApiAiChatParam {}
14
15
  * @interface IAppUtil
15
16
  * @extends {IApiAppUtil}
16
17
  */
17
- export interface IAppUtil extends IApiAppUtil {}
18
+ export interface IAppUtil extends IApiAppUtil {
19
+ /**
20
+ * @description 获取运行时开发工具配置
21
+ * @returns {*} {IDevToolConfig}
22
+ * @memberof IAppUtil
23
+ */
24
+ getRuntimeDevToolConfig(): IDevToolConfig;
25
+ }
@@ -37,6 +37,7 @@ export * from './date-util';
37
37
  export { ChangeTracker } from './change-tracker/change-tracker';
38
38
  export { ViewShellHooks } from './view-shell-hooks/view-shell-hooks';
39
39
  export { WaterMarkUtil } from './water-mark-util/water-mark-util';
40
+ export { runWithConcurrency } from './task-util/task-util';
40
41
  export * from './map-util/map-util';
41
42
  export * from './wechat-util/wechat-util';
42
43
  export * from './json-util/json-util';
@@ -0,0 +1,45 @@
1
+ /* eslint-disable no-plusplus */
2
+ /**
3
+ * 并发控制函数
4
+ * @param tasks 需要执行的任务数组
5
+ * @param concurrency 最大并发数量
6
+ * @returns 所有任务执行结果的数组(保持与输入顺序一致)
7
+ */
8
+ export async function runWithConcurrency<T>(
9
+ tasks: (() => Promise<T>)[],
10
+ concurrency: number,
11
+ ): Promise<T[]> {
12
+ const results: T[] = new Array(tasks.length);
13
+ // 使用 Map 记录正在执行的任务,防止重复领取
14
+ const executing = new Map<number, Promise<void>>();
15
+ let currentIndex = 0;
16
+
17
+ const runTask = async (index: number): Promise<void> => {
18
+ try {
19
+ const data = await tasks[index]();
20
+ results[index] = data;
21
+ } finally {
22
+ // 任务完成后,从执行池中移除
23
+ executing.delete(index);
24
+ }
25
+ };
26
+
27
+ // 只要还有待处理的任务,就持续调度
28
+ while (currentIndex < tasks.length) {
29
+ // 如果当前并发数已满,等待最先完成的一个任务
30
+ if (executing.size >= concurrency) {
31
+ await Promise.race(executing.values());
32
+ continue;
33
+ }
34
+
35
+ // 领取任务并加入执行池
36
+ const index = currentIndex++;
37
+ const taskPromise = runTask(index);
38
+ executing.set(index, taskPromise);
39
+ }
40
+
41
+ // 等待所有剩余的执行中任务完成
42
+ await Promise.all(executing.values());
43
+
44
+ return results;
45
+ }