diff --git a/web3/packages/mind-map/src/components/MindMap.vue b/web3/packages/mind-map/src/components/MindMap.vue deleted file mode 100644 index 577fa7e6..00000000 --- a/web3/packages/mind-map/src/components/MindMap.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/web3/packages/mind-map/src/components/ToolBar.vue b/web3/packages/mind-map/src/components/ToolBar.vue new file mode 100644 index 00000000..9a35ff54 --- /dev/null +++ b/web3/packages/mind-map/src/components/ToolBar.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/web3/packages/mind-map/src/components/ToolBar/InsertChildNode.vue b/web3/packages/mind-map/src/components/ToolBar/InsertChildNode.vue new file mode 100644 index 00000000..e530fd85 --- /dev/null +++ b/web3/packages/mind-map/src/components/ToolBar/InsertChildNode.vue @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/web3/packages/mind-map/src/store/index.ts b/web3/packages/mind-map/src/store/index.ts new file mode 100644 index 00000000..d2e0e421 --- /dev/null +++ b/web3/packages/mind-map/src/store/index.ts @@ -0,0 +1,14 @@ +import { createPinia } from 'pinia'; +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'; + +// 创建 pinia 实例 +const pinia = createPinia(); + +// 使用持久化插件 +pinia.use(piniaPluginPersistedstate); + +// 导出 pinia 实例 +export default pinia; + +// 导出所有 store 模块 +export * from './modules/mindMap'; \ No newline at end of file diff --git a/web3/packages/mind-map/src/store/modules/mindMap.ts b/web3/packages/mind-map/src/store/modules/mindMap.ts new file mode 100644 index 00000000..66122d70 --- /dev/null +++ b/web3/packages/mind-map/src/store/modules/mindMap.ts @@ -0,0 +1,44 @@ +import { defineStore } from "pinia"; +import { ref, Ref } from "vue"; +import { data } from "./mockData"; +import MindMap from "simple-mind-map"; + +// 使用 defineStore 创建 store +export const useMindMapStore = defineStore( + "mindMapStore", + () => { + const mindMapInstance = ref(null); + + const mindMapData = ref(null); + + function initMindMap(container: HTMLElement) { + mindMapInstance.value = new MindMap({ + el: container, + data, + fit: false, + nodeTextEditZIndex: 1000, + nodeNoteTooltipZIndex: 1000, + openRealtimeRenderOnNodeTextEdit: true, + enableAutoEnterTextEditWhenKeydown: true, + demonstrateConfig: { + openBlankMode: true + }, + }); + } + + + return { + mindMapInstance, + mindMapData, + + // func + initMindMap, + }; + }, + { + // 持久化配置 + persist: { + storage: window.localStorage, + }, + } +); diff --git a/web3/packages/mind-map/src/store/modules/mockData.ts b/web3/packages/mind-map/src/store/modules/mockData.ts new file mode 100644 index 00000000..bc8e5297 --- /dev/null +++ b/web3/packages/mind-map/src/store/modules/mockData.ts @@ -0,0 +1 @@ +export const data = {"root":{"data":{"text":"

根节点

","expand":true,"uid":"92261a2f-4e92-46c3-9da3-303974c8488c","richText":true,"isActive":false,"imgMap":{}},"children":[],"smmVersion":"0.14.0-fix.1"},"theme":{"template":"classic4","config":{}},"layout":"logicalStructure","view":{"transform":{"scaleX":1,"scaleY":1,"shear":0,"rotate":0,"translateX":-142,"translateY":-166,"originX":0,"originY":0,"a":1,"b":0,"c":0,"d":1,"e":-142,"f":-166},"state":{"scale":1,"x":-142,"y":-166,"sx":-142,"sy":-166}}}; \ No newline at end of file