mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-10 11:26:43 +08:00
61 lines
1.4 KiB
JavaScript
61 lines
1.4 KiB
JavaScript
import Cookies from 'vue-cookies'
|
||
|
||
const state = {
|
||
initData:false,
|
||
sidebar: {
|
||
opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,
|
||
withoutAnimation: false
|
||
},
|
||
device: 'desktop',//默认是桌面,以后会有android,ios,minapp
|
||
size: Cookies.get('size') || 'medium' //字段大小
|
||
}
|
||
|
||
const mutations = {
|
||
SET_INITDATA: (state, init) => {
|
||
state.initData = init
|
||
},
|
||
TOGGLE_SIDEBAR: state => {
|
||
state.sidebar.opened = !state.sidebar.opened
|
||
state.sidebar.withoutAnimation = false
|
||
if (state.sidebar.opened) {
|
||
Cookies.set('sidebarStatus', 1)
|
||
} else {
|
||
Cookies.set('sidebarStatus', 0)
|
||
}
|
||
},
|
||
CLOSE_SIDEBAR: (state, withoutAnimation) => {
|
||
Cookies.set('sidebarStatus', 0)
|
||
state.sidebar.opened = false
|
||
state.sidebar.withoutAnimation = withoutAnimation
|
||
},
|
||
TOGGLE_DEVICE: (state, device) => {
|
||
state.device = device
|
||
},
|
||
SET_SIZE: (state, size) => {
|
||
state.size = size
|
||
Cookies.set('size', size)
|
||
}
|
||
}
|
||
|
||
const actions = {
|
||
toggleSideBar({ commit }) {
|
||
commit('TOGGLE_SIDEBAR')
|
||
},
|
||
closeSideBar({ commit }, { withoutAnimation }) {
|
||
commit('CLOSE_SIDEBAR', withoutAnimation)
|
||
},
|
||
toggleDevice({ commit }, device) {
|
||
commit('TOGGLE_DEVICE', device)
|
||
},
|
||
setSize({ commit }, size) {
|
||
commit('SET_SIZE', size)
|
||
}
|
||
}
|
||
|
||
export default {
|
||
namespaced: true,
|
||
state,
|
||
mutations,
|
||
actions
|
||
}
|