const settingKey = 'sidebar-status';
|
import cache from '@/utils/cache';
|
|
const useAppStore = defineStore('app', {
|
state: () => ({
|
sidebar: {
|
opened: cache.local.getJSON(settingKey) ? cache.local.getJSON(settingKey) : true,
|
withoutAnimation: false,
|
hide: false
|
},
|
device: 'desktop',
|
loading: {}
|
}), actions: {
|
setLoading(space, bool) {
|
this.loading[space] = bool;
|
},
|
getLoading(...space) {
|
return Object.keys(this.loading).map(key => space.find(e => (`${key} `.indexOf(e) > -1 || e === '*')) ? this.loading[key] : false).filter(Boolean).length > 0 || false;
|
},
|
toggleSideBar(withoutAnimation) {
|
if (this.sidebar.hide) {
|
return false;
|
}
|
this.sidebar.opened = !this.sidebar.opened
|
this.sidebar.withoutAnimation = withoutAnimation
|
if (this.sidebar.opened) {
|
cache.local.set(settingKey, 1)
|
} else {
|
cache.local.set(settingKey, 0)
|
}
|
},
|
closeSideBar({withoutAnimation}) {
|
cache.local.get(settingKey, 0)
|
this.sidebar.opened = false
|
this.sidebar.withoutAnimation = withoutAnimation
|
},
|
toggleDevice(device) {
|
this.device = device
|
},
|
toggleSideBarHide(status) {
|
this.sidebar.hide = status
|
}
|
}
|
})
|
|
export default useAppStore
|