From 84b174beae8df9d9b29a6b63dea476c620f0fabe Mon Sep 17 00:00:00 2001 From: gene9831 Date: Wed, 22 May 2024 20:02:52 -0700 Subject: [PATCH 1/4] feat(plugins): add meta.js for plugins --- packages/common/component/BindI18n.vue | 3 ++- packages/controller/src/useLayout.js | 19 +++++++++----- packages/design-core/src/DesignPlugins.vue | 10 +++---- packages/plugins/block/index.js | 26 +++++++++--------- packages/plugins/block/meta.js | 7 +++++ packages/plugins/block/package.json | 1 + packages/plugins/block/src/Main.vue | 1 + packages/plugins/bridge/index.js | 26 +++++++++--------- packages/plugins/bridge/meta.js | 7 +++++ packages/plugins/bridge/package.json | 1 + packages/plugins/bridge/src/Main.vue | 1 + packages/plugins/data/index.js | 26 +++++++++--------- packages/plugins/data/meta.js | 7 +++++ packages/plugins/data/package.json | 1 + packages/plugins/data/src/Main.vue | 1 + packages/plugins/datasource/index.js | 26 +++++++++--------- packages/plugins/datasource/meta.js | 7 +++++ packages/plugins/datasource/package.json | 1 + packages/plugins/datasource/src/Main.vue | 1 + packages/plugins/help/index.js | 7 ++--- packages/plugins/help/meta.js | 9 +++++++ packages/plugins/help/package.json | 1 + packages/plugins/help/src/HelpIcon.vue | 1 + packages/plugins/materials/index.js | 26 +++++++++--------- packages/plugins/materials/meta.js | 7 +++++ packages/plugins/materials/package.json | 1 + packages/plugins/materials/src/Main.vue | 1 + packages/plugins/page/index.js | 26 +++++++++--------- packages/plugins/page/meta.js | 7 +++++ packages/plugins/page/package.json | 1 + packages/plugins/page/src/Main.vue | 1 + packages/plugins/robot/index.js | 26 +++++++++--------- packages/plugins/robot/meta.js | 7 +++++ packages/plugins/robot/package.json | 1 + packages/plugins/robot/src/Main.vue | 1 + packages/plugins/schema/index.js | 26 +++++++++--------- packages/plugins/schema/meta.js | 7 +++++ packages/plugins/schema/package.json | 1 + packages/plugins/schema/src/Main.vue | 1 + packages/plugins/script/index.js | 29 +++++++++------------ packages/plugins/script/meta.js | 8 ++++++ packages/plugins/script/package.json | 1 + packages/plugins/script/src/Main.vue | 1 + packages/plugins/tree/index.js | 26 +++++++++--------- packages/plugins/tree/meta.js | 7 +++++ packages/plugins/tree/package.json | 1 + packages/plugins/tree/src/Main.vue | 1 + packages/plugins/tutorial/index.js | 26 +++++++++--------- packages/plugins/tutorial/meta.js | 7 +++++ packages/plugins/tutorial/package.json | 1 + packages/plugins/tutorial/src/Main.vue | 8 +++--- packages/toolbars/generate-vue/src/Main.vue | 3 ++- packages/toolbars/logo/src/Main.vue | 6 ++--- packages/utils/src/constants/index.js | 10 ------- 54 files changed, 274 insertions(+), 191 deletions(-) create mode 100644 packages/plugins/block/meta.js create mode 100644 packages/plugins/bridge/meta.js create mode 100644 packages/plugins/data/meta.js create mode 100644 packages/plugins/datasource/meta.js create mode 100644 packages/plugins/help/meta.js create mode 100644 packages/plugins/materials/meta.js create mode 100644 packages/plugins/page/meta.js create mode 100644 packages/plugins/robot/meta.js create mode 100644 packages/plugins/schema/meta.js create mode 100644 packages/plugins/script/meta.js create mode 100644 packages/plugins/tree/meta.js create mode 100644 packages/plugins/tutorial/meta.js diff --git a/packages/common/component/BindI18n.vue b/packages/common/component/BindI18n.vue index 9a93a2494a..c01bd07ca0 100644 --- a/packages/common/component/BindI18n.vue +++ b/packages/common/component/BindI18n.vue @@ -117,7 +117,8 @@ export default { emit('bind', { ...data, key }) } - const activeI18n = () => useLayout().activePlugin('I18n') + const { PLUGIN_NAME, activePlugin } = useLayout() + const activeI18n = () => activePlugin(PLUGIN_NAME.I18n) const addBindI18n = () => { useTranslate().ensureI18n(editForm, true) diff --git a/packages/controller/src/useLayout.js b/packages/controller/src/useLayout.js index 368b771295..6e1f744bad 100644 --- a/packages/controller/src/useLayout.js +++ b/packages/controller/src/useLayout.js @@ -16,13 +16,20 @@ import { constants } from '@opentiny/tiny-engine-utils' const { PAGE_STATUS } = constants const PLUGIN_NAME = { - Materials: 'Materials', - AppManage: 'AppManage', - BlockManage: 'BlockManage', - PageController: 'PageController', + Materials: 'engine.plugins.materials', + AppManage: 'engine.plugins.appmanage', + BlockManage: 'engine.plugins.blockmanage', + Bridge: 'engine.plugins.bridge', + DataSource: 'engine.plugins.datasource', + Collections: 'engine.plugins.collections', + EditorHelp: 'engine.plugins.editorhelp', + I18n: 'engine.plugins.i18n', + Robot: 'engine.plugins.robot', + Schema: 'engine.plugins.schema', + PageController: 'engine.plugins.pagecontroller', + OutlineTree: 'engine.plugins.outlinetree', + Tutorial: 'engine.plugins.tutorial', Lock: 'Lock', - Tutorial: 'Tutorial', - OutlineTree: 'OutlineTree', save: 'save' } diff --git a/packages/design-core/src/DesignPlugins.vue b/packages/design-core/src/DesignPlugins.vue index 2c7f1e5c55..00309c9ec0 100644 --- a/packages/design-core/src/DesignPlugins.vue +++ b/packages/design-core/src/DesignPlugins.vue @@ -119,9 +119,9 @@ export default { const robotVisible = ref(false) const robotComponent = ref(null) const { isTemporaryPage } = usePage() - const HELP_PLUGIN_ID = 'EditorHelp' const { + PLUGIN_NAME, pluginState, registerPluginApi, layoutState: { plugins: pluginsState } @@ -154,7 +154,7 @@ export default { } const clickMenu = ({ item, index }) => { - if (item.id === HELP_PLUGIN_ID) return + if (item.id === PLUGIN_NAME.EditorHelp) return state.prevIdex = index // 切换插件与关闭插件时确认 @@ -177,8 +177,8 @@ export default { } watch(isTemporaryPage, () => { if (isTemporaryPage.saved) { - const pagePanel = state.topNavLists?.find((item) => item.id === 'AppManage') || null - const pageIndex = state.topNavLists?.findIndex((item) => item.id === 'AppManage') || -1 + const pagePanel = state.topNavLists?.find((item) => item.id === PLUGIN_NAME.AppManage) || null + const pageIndex = state.topNavLists?.findIndex((item) => item.id === PLUGIN_NAME.AppManage) || -1 if (pagePanel !== props.renderPanel) { clickMenu({ item: pagePanel, index: pageIndex }) } @@ -186,7 +186,7 @@ export default { }) const openAIRobot = () => { - robotComponent.value = components.Robot + robotComponent.value = components[PLUGIN_NAME.Robot] robotVisible.value = !robotVisible.value } const close = () => { diff --git a/packages/plugins/block/index.js b/packages/plugins/block/index.js index 3c343f5ed7..8d986e6302 100644 --- a/packages/plugins/block/index.js +++ b/packages/plugins/block/index.js @@ -1,22 +1,20 @@ /** -* Copyright (c) 2023 - present TinyEngine Authors. -* Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd. -* -* Use of this source code is governed by an MIT-style license. -* -* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, -* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR -* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS. -* -*/ + * Copyright (c) 2023 - present TinyEngine Authors. + * Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd. + * + * Use of this source code is governed by an MIT-style license. + * + * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, + * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR + * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS. + * + */ import component, { api } from './src/Main.vue' +import metaData from './meta.js' export default { - id: 'BlockManage', - title: '区块管理', - icon: 'plugin-icon-symbol', - align: 'top', + ...metaData, api, component } diff --git a/packages/plugins/block/meta.js b/packages/plugins/block/meta.js new file mode 100644 index 0000000000..01d507a79a --- /dev/null +++ b/packages/plugins/block/meta.js @@ -0,0 +1,7 @@ +export default { + id: 'engine.plugins.blockmanage', + title: '区块管理', + type: 'plugins', + align: 'top', + icon: 'plugin-icon-symbol' +} diff --git a/packages/plugins/block/package.json b/packages/plugins/block/package.json index f72f2f6e9e..3f369b56b9 100644 --- a/packages/plugins/block/package.json +++ b/packages/plugins/block/package.json @@ -27,6 +27,7 @@ "@opentiny/tiny-engine-canvas": "workspace:*", "@opentiny/tiny-engine-common": "workspace:*", "@opentiny/tiny-engine-controller": "workspace:*", + "@opentiny/tiny-engine-entry": "workspace:*", "@opentiny/tiny-engine-http": "workspace:*", "@opentiny/tiny-engine-utils": "workspace:*", "html2canvas": "^1.4.1", diff --git a/packages/plugins/block/src/Main.vue b/packages/plugins/block/src/Main.vue index 337f756f10..4c31f9ef7d 100644 --- a/packages/plugins/block/src/Main.vue +++ b/packages/plugins/block/src/Main.vue @@ -104,6 +104,7 @@