diff --git a/simple-mind-map/example/exampleData.js b/simple-mind-map/example/exampleData.js index bfa934b9..4deac4f8 100644 --- a/simple-mind-map/example/exampleData.js +++ b/simple-mind-map/example/exampleData.js @@ -932,6 +932,5 @@ export default { "layout": "logicalStructure", // "layout": "mindMap", // "layout": "catalogOrganization" - // "layout": "organizationStructure", - "config": {} + // "layout": "organizationStructure" } \ No newline at end of file diff --git a/web/public/index.html b/web/public/index.html index d7947ff2..15cb802f 100644 --- a/web/public/index.html +++ b/web/public/index.html @@ -62,6 +62,7 @@ config: {}, view: null }, + mindMapConfig: {}, lang: 'zh', localConfig: null }) @@ -78,6 +79,14 @@ window.takeOverAppMethods.saveMindMapData = data => { console.log(data) } + // 获取思维导图配置,也就是实例化时会传入的选项 + window.takeOverAppMethods.getMindMapConfig = () => { + return data.mindMapConfig + } + // 保存思维导图配置 + window.takeOverAppMethods.saveMindMapConfig = config => { + console.log(config) + } // 获取语言的函数 window.takeOverAppMethods.getLanguage = () => { return data.lang diff --git a/web/src/api/index.js b/web/src/api/index.js index f438aea7..87fa3521 100644 --- a/web/src/api/index.js +++ b/web/src/api/index.js @@ -4,6 +4,7 @@ import Vue from 'vue' import vuexStore from '@/store' const SIMPLE_MIND_MAP_DATA = 'SIMPLE_MIND_MAP_DATA' +const SIMPLE_MIND_MAP_CONFIG = 'SIMPLE_MIND_MAP_CONFIG' const SIMPLE_MIND_MAP_LANG = 'SIMPLE_MIND_MAP_LANG' const SIMPLE_MIND_MAP_LOCAL_CONFIG = 'SIMPLE_MIND_MAP_LOCAL_CONFIG' @@ -11,10 +12,12 @@ let mindMapData = null // 获取缓存的思维导图数据 export const getData = () => { + // 接管模式 if (window.takeOverApp) { mindMapData = window.takeOverAppMethods.getMindMapData() return mindMapData } + // 操作本地文件模式 if (vuexStore.state.isHandleLocalFile) { return Vue.prototype.getCurrentData() } @@ -39,7 +42,13 @@ export const storeData = data => { } else { originData = getData() } - originData.root = data + if (!originData) { + originData = {} + } + originData = { + ...originData, + ...data + } if (window.takeOverApp) { mindMapData = originData window.takeOverAppMethods.saveMindMapData(originData) @@ -49,37 +58,33 @@ export const storeData = data => { if (vuexStore.state.isHandleLocalFile) { return } - let dataStr = JSON.stringify(originData) - localStorage.setItem(SIMPLE_MIND_MAP_DATA, dataStr) + localStorage.setItem(SIMPLE_MIND_MAP_DATA, JSON.stringify(originData)) } catch (error) { console.log(error) } } +// 获取思维导图配置数据 +export const getConfig = () => { + if (window.takeOverApp) { + window.takeOverAppMethods.getMindMapConfig() + return + } + let config = localStorage.getItem(SIMPLE_MIND_MAP_CONFIG) + if (config) { + return JSON.parse(config) + } + return null +} + // 存储思维导图配置数据 export const storeConfig = config => { try { - let originData = null if (window.takeOverApp) { - originData = mindMapData - } else { - originData = getData() - } - originData = { - ...originData, - ...config - } - if (window.takeOverApp) { - mindMapData = originData - window.takeOverAppMethods.saveMindMapData(originData) + window.takeOverAppMethods.saveMindMapConfig(config) return } - Vue.prototype.$bus.$emit('write_local_file', originData) - if (vuexStore.state.isHandleLocalFile) { - return - } - let dataStr = JSON.stringify(originData) - localStorage.setItem(SIMPLE_MIND_MAP_DATA, dataStr) + localStorage.setItem(SIMPLE_MIND_MAP_CONFIG, JSON.stringify(config)) } catch (error) { console.log(error) } @@ -107,12 +112,7 @@ export const getLang = () => { return 'zh' } -/** - * javascript comment - * @Author: 王林25 - * @Date: 2022-11-14 18:57:31 - * @Desc: 存储本地配置 - */ +// 存储本地配置 export const storeLocalConfig = config => { if (window.takeOverApp) { return window.takeOverAppMethods.saveLocalConfig(config) @@ -120,12 +120,7 @@ export const storeLocalConfig = config => { localStorage.setItem(SIMPLE_MIND_MAP_LOCAL_CONFIG, JSON.stringify(config)) } -/** - * javascript comment - * @Author: 王林25 - * @Date: 2022-11-14 18:57:37 - * @Desc: 获取本地配置 - */ +// 获取本地配置 export const getLocalConfig = () => { if (window.takeOverApp) { return window.takeOverAppMethods.getLocalConfig() diff --git a/web/src/pages/Edit/Index.vue b/web/src/pages/Edit/Index.vue index 52dad7b0..b406cfc5 100644 --- a/web/src/pages/Edit/Index.vue +++ b/web/src/pages/Edit/Index.vue @@ -13,7 +13,7 @@