2024-07-11 20:11:11 +08:00
|
|
|
import { useCoreTabbarStore } from '@vben-core/stores';
|
2024-07-05 23:15:46 +08:00
|
|
|
|
|
|
|
import { defineStore } from 'pinia';
|
|
|
|
|
2024-07-11 20:11:11 +08:00
|
|
|
import { useAccessStore } from './access';
|
|
|
|
|
2024-07-12 12:14:09 +08:00
|
|
|
interface AppState {
|
|
|
|
isLockScreen: boolean;
|
|
|
|
lockScreenPassword?: string;
|
|
|
|
}
|
2024-07-05 23:15:46 +08:00
|
|
|
|
2024-07-12 12:14:09 +08:00
|
|
|
export const useAppStore = defineStore('app', {
|
|
|
|
actions: {
|
|
|
|
lockScreen(password: string) {
|
|
|
|
this.isLockScreen = true;
|
|
|
|
this.lockScreenPassword = password;
|
|
|
|
},
|
2024-07-05 23:15:46 +08:00
|
|
|
|
2024-07-12 12:14:09 +08:00
|
|
|
resetAppState() {
|
|
|
|
const accessStore = useAccessStore();
|
|
|
|
const coreTabbarStore = useCoreTabbarStore();
|
|
|
|
accessStore.reset();
|
|
|
|
coreTabbarStore.$reset();
|
|
|
|
},
|
|
|
|
|
|
|
|
unlockScreen() {
|
|
|
|
this.isLockScreen = false;
|
|
|
|
this.lockScreenPassword = undefined;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
persist: {
|
|
|
|
paths: ['isLockScreen', 'lockScreenPassword'],
|
|
|
|
},
|
|
|
|
state: (): AppState => ({
|
|
|
|
isLockScreen: false,
|
|
|
|
lockScreenPassword: undefined,
|
|
|
|
}),
|
2024-07-05 23:15:46 +08:00
|
|
|
});
|