From d1e99a46a7a25e2ddef152aef634589361e39194 Mon Sep 17 00:00:00 2001 From: roymondchen Date: Wed, 14 May 2025 11:07:55 +0800 Subject: [PATCH] =?UTF-8?q?feat(core):=20=E6=96=B0=E5=A2=9E=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=BA=90=E5=88=9D=E5=A7=8B=E6=95=B0=E6=8D=AE=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/core/src/App.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/core/src/App.ts b/packages/core/src/App.ts index 3cf55fba..8458c5e6 100644 --- a/packages/core/src/App.ts +++ b/packages/core/src/App.ts @@ -20,7 +20,13 @@ import { EventEmitter } from 'events'; import { isEmpty } from 'lodash-es'; -import { createDataSourceManager, type DataSource, DataSourceManager, ObservedDataClass } from '@tmagic/data-source'; +import { + createDataSourceManager, + type DataSource, + DataSourceManager, + type DataSourceManagerData, + ObservedDataClass, +} from '@tmagic/data-source'; import type { CodeBlockDSL, DataSourceSchema, Id, JsEngine, MApp, RequestFunction } from '@tmagic/schema'; import Env from './Env'; @@ -52,6 +58,7 @@ export interface AppOptionsConfig { transformStyle?: (style: Record) => Record; request?: RequestFunction; DataSourceObservedData?: ObservedDataClass; + dataSourceManagerInitialData?: DataSourceManagerData; errorHandler?: ErrorHandler; } @@ -135,7 +142,7 @@ class App extends EventEmitter { } if (options.config) { - this.setConfig(options.config, options.curPage); + this.setConfig(options.config, options.curPage, options.dataSourceManagerInitialData); } } @@ -155,8 +162,9 @@ class App extends EventEmitter { * 设置dsl * @param config dsl跟节点 * @param curPage 当前页面id + * @param initialData 数据源初始数据源 */ - public setConfig(config: MApp, curPage?: Id) { + public setConfig(config: MApp, curPage?: Id, initialData?: DataSourceManagerData) { this.dsl = config; if (!curPage && config.items.length) { @@ -167,7 +175,7 @@ class App extends EventEmitter { this.dataSourceManager.destroy(); } - this.dataSourceManager = createDataSourceManager(this, this.useMock); + this.dataSourceManager = createDataSourceManager(this, this.useMock, initialData); this.codeDsl = config.codeBlocks;