From 3bb8ecc97547e9a7838b97b1a182c371efb01a6c Mon Sep 17 00:00:00 2001 From: parisma Date: Thu, 22 Sep 2022 20:37:58 +0800 Subject: [PATCH] =?UTF-8?q?fix(editor):=20=E4=BF=AE=E5=A4=8D=E5=88=9D?= =?UTF-8?q?=E5=A7=8Bdsl=E6=97=A0codeBlocks=E5=AD=97=E6=AE=B5=E6=97=B6?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=96=B0=E5=A2=9E=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/core/src/App.ts | 6 +++--- packages/editor/src/services/codeBlock.ts | 26 ++++++++++++++--------- packages/editor/src/services/editor.ts | 8 +++---- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/packages/core/src/App.ts b/packages/core/src/App.ts index 22b897f1..c82bff35 100644 --- a/packages/core/src/App.ts +++ b/packages/core/src/App.ts @@ -61,8 +61,8 @@ class App extends EventEmitter { super(); this.env = new Env(options.ua); - // 代码块描述内容在dsl codeBlock字段 - this.codeDsl = options.config?.codeBlock; + // 代码块描述内容在dsl codeBlocks字段 + this.codeDsl = options.config?.codeBlocks; options.platform && (this.platform = options.platform); options.jsEngine && (this.jsEngine = options.jsEngine); options.designWidth && (this.designWidth = options.designWidth); @@ -141,7 +141,7 @@ class App extends EventEmitter { * @param curPage 当前页面id */ public setConfig(config: MApp, curPage?: Id) { - this.codeDsl = config.codeBlock; + this.codeDsl = config.codeBlocks; this.pages = new Map(); config.items?.forEach((page) => { this.pages.set( diff --git a/packages/editor/src/services/codeBlock.ts b/packages/editor/src/services/codeBlock.ts index fba9d7f8..1bf92891 100644 --- a/packages/editor/src/services/codeBlock.ts +++ b/packages/editor/src/services/codeBlock.ts @@ -69,7 +69,7 @@ class CodeBlock extends BaseService { } /** - * 获取活动的代码块dsl数据源(默认从dsl中的codeBlock字段读取) + * 获取活动的代码块dsl数据源(默认从dsl中的codeBlocks字段读取) * @param {boolean} forceRefresh 是否强制从活动dsl拉取刷新 * @returns {CodeBlockDSL | null} */ @@ -100,15 +100,21 @@ class CodeBlock extends BaseService { */ public async setCodeDslById(id: string, codeConfig: CodeBlockContent): Promise { let codeDsl = await this.getCodeDsl(); - if (!codeDsl) return; - const existContent = codeDsl[id] || {}; - codeDsl = { - ...codeDsl, - [id]: { - ...existContent, - ...codeConfig, - }, - }; + if (!codeDsl) { + // dsl中无代码块字段 + codeDsl = { + [id]: codeConfig, + }; + } else { + const existContent = codeDsl[id] || {}; + codeDsl = { + ...codeDsl, + [id]: { + ...existContent, + ...codeConfig, + }, + }; + } await this.setCodeDsl(codeDsl); } diff --git a/packages/editor/src/services/editor.ts b/packages/editor/src/services/editor.ts index d1c866aa..b33ed65c 100644 --- a/packages/editor/src/services/editor.ts +++ b/packages/editor/src/services/editor.ts @@ -767,23 +767,23 @@ class Editor extends BaseService { } /** - * 从dsl中的codeBlock字段读取活动的代码块 + * 从dsl中的codeBlocks字段读取活动的代码块 * @returns {CodeBlockDSL | null} */ public async getCodeDsl(): Promise { const root = this.get('root'); if (!root) return null; - return root.codeBlock || null; + return root.codeBlocks || null; } /** - * 设置代码块到dsl的codeBlock字段 + * 设置代码块到dsl的codeBlocks字段 * @param {CodeBlockDSL} codeDsl 代码DSL * @returns {void} */ public async setCodeDsl(codeDsl: CodeBlockDSL): Promise { if (!this.state.root) return; - this.state.root.codeBlock = codeDsl; + this.state.root.codeBlocks = codeDsl; } private addModifiedNodeId(id: Id) {