diff --git a/packages/dooringx-cli/bin/www b/packages/dooringx-cli/bin/www old mode 100644 new mode 100755 diff --git a/packages/dooringx-lib/src/core/utils/index.ts b/packages/dooringx-lib/src/core/utils/index.ts index 80fe6c5..7d8e571 100644 --- a/packages/dooringx-lib/src/core/utils/index.ts +++ b/packages/dooringx-lib/src/core/utils/index.ts @@ -7,6 +7,20 @@ import { specialCoList } from './special'; import deepCopys from 'deepcopy'; import { FunctionDataMap } from '../functionCenter/config'; import UserConfig from '../../config'; +import { IPluginConfig } from './types'; +import { ComponentItemFactory } from '../components/abstract'; + +// 创建插件 +export const createPlugin = (config: IPluginConfig) => { + return new ComponentItemFactory( + config.key, + config.name, + {}, + config.attr, + config.render, + config.attr.resize + ); +}; export function deepCopy(obj: T): T { return deepCopys(obj); diff --git a/packages/dooringx-lib/src/core/utils/types.ts b/packages/dooringx-lib/src/core/utils/types.ts new file mode 100644 index 0000000..bbb4a80 --- /dev/null +++ b/packages/dooringx-lib/src/core/utils/types.ts @@ -0,0 +1,7 @@ +export interface IPluginConfig { + key: string; + name: string; + attr: any; + render: (props: any) => JSX.Element; + resize?: boolean; +}