ruoyi-plus-soybean/src/store/modules/app/index.ts

46 lines
1.1 KiB
TypeScript
Raw Normal View History

import type { Ref } from 'vue';
import { defineStore } from 'pinia';
2022-01-07 18:51:06 +08:00
import { useReload, useBoolean } from '@/hooks';
interface AppStore {
/** 重载页面的标志 */
reloadFlag: Ref<boolean>;
/**
*
* @param duration - (ms, 0)
*/
handleReload(duration?: number): void;
2022-01-07 18:51:06 +08:00
/** 设置抽屉可见状态 */
settingDrawerVisible: Ref<boolean>;
/** 打开设置抽屉 */
openSettingDrawer(): void;
/** 关闭设置抽屉 */
closeSettingDrawer(): void;
/** 切换抽屉可见状态 */
toggleSettingdrawerVisible(): void;
}
export const useAppStore = defineStore('app-store', () => {
// 重新加载页面
const { reloadFlag, handleReload } = useReload();
2022-01-07 18:51:06 +08:00
// 设置抽屉
const {
bool: settingDrawerVisible,
setTrue: openSettingDrawer,
setFalse: closeSettingDrawer,
toggle: toggleSettingdrawerVisible
} = useBoolean();
const appStore: AppStore = {
reloadFlag,
2022-01-07 18:51:06 +08:00
handleReload,
settingDrawerVisible,
openSettingDrawer,
closeSettingDrawer,
toggleSettingdrawerVisible
};
return appStore;
});