/* * @Description: app Mutations * @Author: ZY * @Date: 2020-12-23 10:25:37 * @LastEditors: ZY * @LastEditTime: 2021-01-08 17:26:27 */ import {MutationTree} from 'vuex' import {AppState, Option} from './state' import {AppMutationTypes} from './mutation-types' export type Mutations = { [AppMutationTypes.setContextPath](state: AppState, path: string): void [AppMutationTypes.setModuleName](state: AppState, name: string): void [AppMutationTypes.setModuleCode](state: AppState, code: string): void [AppMutationTypes.setAppModules](state: AppState, modules: []): void [AppMutationTypes.setIsCollapseChange](state: AppState, type: boolean): void [AppMutationTypes.setContentFullScreenChange](state: AppState, type: boolean): void [AppMutationTypes.menuListChange](state: AppState, arr: []): void } export const mutations: MutationTree & Mutations = { [AppMutationTypes.setContextPath](state: AppState, path: string) { state.contextPath = path }, [AppMutationTypes.setModuleName](state: AppState, name: string) { state.moduleName = name }, [AppMutationTypes.setModuleCode](state: AppState, code: string) { state.moduleCode = code }, [AppMutationTypes.setAppModules](state: AppState, modules: []) { state.appModules = modules }, [AppMutationTypes.setIsCollapseChange](state: AppState, type: boolean) { state.isCollapse = type }, [AppMutationTypes.setContentFullScreenChange](state: AppState, type: boolean) { state.contentFullScreen = type }, [AppMutationTypes.menuListChange](state: AppState, arr: []) { state.menuList = arr }, [AppMutationTypes.setKeepAliveComponentsName](state: AppState, nameArr: []) { state.keepAliveComponentsName = nameArr }, [AppMutationTypes.addKeepAliveComponentsName](state: AppState, name: string) { state.keepAliveComponentsName.push(name) }, [AppMutationTypes.delKeepAliveComponentsName](state: AppState, name: string) { const key = state.keepAliveComponentsName.indexOf(name) if (key !== -1) { state.keepAliveComponentsName.splice(key, 1) console.log(state.keepAliveComponentsName) } }, [AppMutationTypes.setOption](state: AppState, option: Option) { state.options[option.name] = option.value } }