2021-08-13 14:22:35 +08:00
|
|
|
import { defineStore } from 'pinia';
|
2021-09-07 11:57:35 +08:00
|
|
|
import { store } from '@/store';
|
2021-08-13 14:22:35 +08:00
|
|
|
|
2021-09-07 17:03:59 +08:00
|
|
|
/** app状态 */
|
2021-08-13 14:22:35 +08:00
|
|
|
interface AppState {
|
2021-09-07 17:03:59 +08:00
|
|
|
menu: MenuState;
|
2021-09-01 17:43:25 +08:00
|
|
|
settingDrawer: SettingDrawer;
|
|
|
|
}
|
|
|
|
|
2021-09-07 17:03:59 +08:00
|
|
|
/** 菜单状态 */
|
|
|
|
interface MenuState {
|
|
|
|
/** 菜单折叠 */
|
|
|
|
collapsed: boolean;
|
|
|
|
}
|
|
|
|
|
|
|
|
/** 设置抽屉的状态 */
|
2021-09-01 17:43:25 +08:00
|
|
|
interface SettingDrawer {
|
2021-09-07 17:03:59 +08:00
|
|
|
/** 设置抽屉可见性 */
|
2021-09-01 17:43:25 +08:00
|
|
|
visible: boolean;
|
2021-08-13 14:22:35 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
const appStore = defineStore({
|
|
|
|
id: 'app-store',
|
|
|
|
state: (): AppState => ({
|
2021-09-07 17:03:59 +08:00
|
|
|
menu: {
|
|
|
|
collapsed: false
|
|
|
|
},
|
2021-09-01 17:43:25 +08:00
|
|
|
settingDrawer: {
|
|
|
|
visible: false
|
|
|
|
}
|
2021-08-13 14:22:35 +08:00
|
|
|
}),
|
|
|
|
actions: {
|
2021-09-01 17:43:25 +08:00
|
|
|
/** 折叠/展开菜单 */
|
|
|
|
handleMenuCollapse(collapsed: boolean) {
|
2021-09-07 17:03:59 +08:00
|
|
|
this.menu.collapsed = collapsed;
|
2021-09-01 17:43:25 +08:00
|
|
|
},
|
|
|
|
/** 切换折叠/展开菜单 */
|
|
|
|
toggleMenu() {
|
2021-09-07 17:03:59 +08:00
|
|
|
this.menu.collapsed = !this.menu.collapsed;
|
2021-09-01 17:43:25 +08:00
|
|
|
},
|
|
|
|
/** 打开配置抽屉 */
|
|
|
|
openSettingDrawer() {
|
|
|
|
this.settingDrawer.visible = true;
|
2021-08-13 14:22:35 +08:00
|
|
|
},
|
2021-09-01 17:43:25 +08:00
|
|
|
/** 关闭配置抽屉 */
|
|
|
|
closeSettingDrawer() {
|
|
|
|
this.settingDrawer.visible = false;
|
2021-08-13 14:22:35 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
export default function useAppStore() {
|
|
|
|
return appStore(store);
|
|
|
|
}
|