mind-map/web/src/store.js
2023-02-24 17:14:24 +08:00

88 lines
1.9 KiB
JavaScript

import Vue from 'vue'
import Vuex from 'vuex'
import exampleData from 'simple-mind-map/example/exampleData'
import { storeLocalConfig } from '@/api'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
mindMapData: null, // 思维导图数据
isHandleLocalFile: false, // 是否操作的是本地文件
localConfig: {
// 本地配置
isZenMode: false, // 是否是禅模式
// 是否开启节点富文本
openNodeRichText: true
},
activeSidebar: '' // 当前显示的侧边栏
},
mutations: {
/**
* @Author: 王林
* @Date: 2021-04-10 14:50:01
* @Desc: 设置思维导图数据
*/
setMindMapData(state, data) {
state.mindMapData = data
},
/**
* javascript comment
* @Author: 王林
* @Date: 2022-09-24 13:55:38
* @Desc: 设置操作本地文件标志位
*/
setIsHandleLocalFile(state, data) {
state.isHandleLocalFile = data
},
/**
* javascript comment
* @Author: 王林25
* @Date: 2022-11-14 18:42:47
* @Desc: 设置本地配置
*/
setLocalConfig(state, data) {
state.localConfig = {
...state.localConfig,
...data
}
storeLocalConfig(state.localConfig)
},
/**
* javascript comment
* @Author: 王林25
* @Date: 2022-11-15 19:25:26
* @Desc: 设置当前显示的侧边栏
*/
setActiveSidebar(state, data) {
state.activeSidebar = data
}
},
actions: {
/**
* @Author: 王林
* @Date: 2021-04-10 14:50:40
* @Desc: 设置初始思维导图数据
*/
getUserMindMapData(ctx) {
try {
let { data } = {
data: {
data: {
mindMapData: exampleData
}
}
}
ctx.commit('setMindMapData', data.data)
} catch (error) {
console.log(error)
}
}
}
})
export default store