diff --git a/packages/demo/src/editor/config.js b/packages/demo/src/editor/config.js index c929c11fe..489d22d6f 100644 --- a/packages/demo/src/editor/config.js +++ b/packages/demo/src/editor/config.js @@ -1,4 +1,7 @@ import { DataSourceImportPluginCode } from '@ali/lowcode-plugin-datasource-pane'; +import { createMtopHandler } from '@ali/lowcode-datasource-mtop-handler'; +import { createFetchHandler } from '@ali/lowcode-datasource-fetch-handler'; +import { createJsonpHandler } from '@ali/lowcode-datasource-jsonp-handler'; export default { plugins: { @@ -177,10 +180,15 @@ export default { const assets = await editor.utils.get('./assets.json'); editor.set('assets', assets); const simulatorUrl = [ - 'https://dev.g.alicdn.com/ali-lowcode/ali-lowcode-engine/0.9.50/react-simulator-renderer.css', - 'https://dev.g.alicdn.com/ali-lowcode/ali-lowcode-engine/0.9.50/react-simulator-renderer.js', + 'https://dev.g.alicdn.com/ali-lowcode/ali-lowcode-engine/1.0.0/react-simulator-renderer.css', + 'https://dev.g.alicdn.com/ali-lowcode/ali-lowcode-engine/1.0.0/react-simulator-renderer.js', ]; editor.set('simulatorUrl', simulatorUrl); + editor.set('requestHandlersMap', { + mtop: createMtopHandler(), + fetch: createFetchHandler(), + jsonp: createJsonpHandler() + }); // editor.set('renderEnv', 'rax'); const schema = await editor.utils.get('./schema.json'); diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index 20e417675..a92073a06 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -49,6 +49,9 @@ export interface BuiltinSimulatorProps { device?: 'mobile' | 'iphone' | string; deviceClassName?: string; environment?: Asset; + // @TODO 补充类型 + /** @property 请求处理器配置 */ + requestHandlersMap?: any; extraEnvironment?: Asset; library?: LibraryItem[]; simulatorUrl?: Asset; diff --git a/packages/rax-render/src/engine/index.jsx b/packages/rax-render/src/engine/index.jsx index 2a4af143f..2aeec553a 100644 --- a/packages/rax-render/src/engine/index.jsx +++ b/packages/rax-render/src/engine/index.jsx @@ -45,6 +45,8 @@ export default class Engine extends Component { appHelper: PropTypes.object, components: PropTypes.object, componentsMap: PropTypes.object, + // 数据源请求处理 + requestHandlersMap: PropTypes.object, designMode: PropTypes.string, suspended: PropTypes.bool, schema: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), @@ -59,6 +61,8 @@ export default class Engine extends Component { appHelper: null, components: {}, componentsMap: {}, + // 数据源请求处理 + requestHandlersMap: null, designMode: '', suspended: false, schema: {}, diff --git a/packages/rax-simulator-renderer/src/renderer-view.tsx b/packages/rax-simulator-renderer/src/renderer-view.tsx index 37658532e..c58bb1dfa 100644 --- a/packages/rax-simulator-renderer/src/renderer-view.tsx +++ b/packages/rax-simulator-renderer/src/renderer-view.tsx @@ -106,6 +106,7 @@ class Renderer extends Component<{ renderer: SimulatorRenderer }> { schema={renderer.schema} components={renderer.components} context={renderer.context} + requestHandlersMap={host.requestHandlersMap} device={device} designMode={renderer.designMode} suspended={renderer.suspended} diff --git a/packages/react-simulator-renderer/src/renderer-view.tsx b/packages/react-simulator-renderer/src/renderer-view.tsx index c5931929f..f4e81187d 100644 --- a/packages/react-simulator-renderer/src/renderer-view.tsx +++ b/packages/react-simulator-renderer/src/renderer-view.tsx @@ -99,6 +99,7 @@ class Renderer extends Component<{ renderer: SimulatorRenderer }> { components={renderer.components} appHelper={renderer.context} // context={renderer.context} + requestHandlersMap={host.requestHandlersMap} designMode={designMode} device={device} suspended={renderer.suspended}