/* * @Description: st * @Author: ZY * @Date: 2020-12-07 10:30:20 * @LastEditors: ZY * @LastEditTime: 2021-01-08 20:46:07 */ import { createStore, createLogger } from 'vuex' // import createPersistedState from 'vuex-persistedstate' import { store as user, UserStore, UserState } from './modules/user' import { store as app, AppStore, AppState } from './modules/app' export interface RootState { user: UserState app: AppState } export type Store = AppStore> & UserStore> // Plug in logger when in development environment const debug = process.env.NODE_ENV !== 'production' const plugins = debug ? [createLogger({})] : [] // Plug in session storage based persistence // plugins.push(createPersistedState({ storage: window.sessionStorage })) export const store = createStore({ plugins, modules: { user, app } }) export function useStore(): Store { return store as Store }