From f87fa7633590ad430853e01ac5e23eb7824f5665 Mon Sep 17 00:00:00 2001 From: lichunn <46984087+lichunn@users.noreply.github.com> Date: Tue, 26 Dec 2023 03:50:39 -0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B8=AE=E5=8A=A9=E6=96=87=E6=A1=A3=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=20(#100)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/common/component/LinkButton.vue | 41 +++++ packages/common/index.js | 2 + packages/controller/src/index.js | 24 +-- packages/controller/src/useHelp.js | 34 ++++ packages/design-core/src/DesignPlugins.vue | 2 + packages/plugins/block/src/Main.vue | 16 +- packages/plugins/bridge/src/Main.vue | 24 ++- packages/plugins/data/src/Main.vue | 18 ++- packages/plugins/datasource/src/Main.vue | 28 ++-- packages/plugins/help/index.js | 22 +-- packages/plugins/help/src/HelpIcon.vue | 176 ++++++++++++++++++--- packages/plugins/i18n/src/Main.vue | 17 +- packages/plugins/page/src/Main.vue | 20 ++- packages/plugins/script/src/Main.vue | 19 ++- packages/theme/dark/help.less | 8 + packages/theme/light/help.less | 8 + 16 files changed, 376 insertions(+), 83 deletions(-) create mode 100644 packages/common/component/LinkButton.vue create mode 100644 packages/controller/src/useHelp.js diff --git a/packages/common/component/LinkButton.vue b/packages/common/component/LinkButton.vue new file mode 100644 index 000000000..11a80d684 --- /dev/null +++ b/packages/common/component/LinkButton.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/packages/common/index.js b/packages/common/index.js index 8582ac8b2..eae061faa 100644 --- a/packages/common/index.js +++ b/packages/common/index.js @@ -13,6 +13,7 @@ import PluginSetting from './component/PluginSetting.vue' import PluginPanel from './component/PluginPanel.vue' import SvgButton from './component/SvgButton.vue' +import LinkButton from './component/LinkButton.vue' import ConfigCollapse from './component/ConfigCollapse.vue' import ConfigGroup from './component/ConfigGroup.vue' @@ -169,6 +170,7 @@ export { PluginPanel, VideoGuide, SvgButton, + LinkButton, BlockHistoryList, BlockHistoryTemplate, BlockLinkField, diff --git a/packages/controller/src/index.js b/packages/controller/src/index.js index 10edd8ba5..322c248ed 100644 --- a/packages/controller/src/index.js +++ b/packages/controller/src/index.js @@ -1,14 +1,14 @@ /** -* 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 useLayout from './useLayout' import useCanvas from './useCanvas' @@ -30,6 +30,7 @@ import { getGlobalConfig, setGlobalConfig } from './globalConfig' import useNotify from './useNotify' import useData from './useData' import useMessage from './useMessage' +import useHelp from './useHelp' export const getExample = example @@ -53,5 +54,6 @@ export { setGlobalConfig, useNotify, useData, - useMessage + useMessage, + useHelp } diff --git a/packages/controller/src/useHelp.js b/packages/controller/src/useHelp.js new file mode 100644 index 000000000..72238fc20 --- /dev/null +++ b/packages/controller/src/useHelp.js @@ -0,0 +1,34 @@ +/** + * 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. + * + */ + +const getBaseUrl = () => 'https://opentiny.design/tiny-engine#/help-center/course/engine/' + +const helpState = { + docsUrl: { + block: 3, + bridge: 13, + data: 7, + datasource: 11, + i18n: 12, + page: 2, + script: 8 + } +} + +const getDocsUrl = (plugin) => { + return `${getBaseUrl()}${helpState.docsUrl[plugin]}` +} + +export default () => ({ + getBaseUrl, + getDocsUrl +}) diff --git a/packages/design-core/src/DesignPlugins.vue b/packages/design-core/src/DesignPlugins.vue index a1b6626ab..879e437a1 100644 --- a/packages/design-core/src/DesignPlugins.vue +++ b/packages/design-core/src/DesignPlugins.vue @@ -118,6 +118,7 @@ export default { const robotVisible = ref(false) const robotComponent = ref(null) const { isTemporaryPage } = usePage() + const HELP_PLUGIN_ID = 'EditorHelp' const { pluginState, @@ -152,6 +153,7 @@ export default { } const clickMenu = ({ item, index }) => { + if (item.id === HELP_PLUGIN_ID) return state.prevIdex = index // 切换插件与关闭插件时确认 diff --git a/packages/plugins/block/src/Main.vue b/packages/plugins/block/src/Main.vue index b2ac20141..f4531d5b3 100644 --- a/packages/plugins/block/src/Main.vue +++ b/packages/plugins/block/src/Main.vue @@ -1,6 +1,7 @@