/* * @Description: app Mutations * @Author: ZY * @Date: 2020-12-23 10:25:37 * @LastEditors: ZY * @LastEditTime: 2021-01-08 17:26:27 */ import {AppState, Options} from './state' import {UserLoginInfo} from "../../../api/sysTypes"; import {removeToken} from "../../../utils/auth"; import {Option} from "./state"; export type Mutations = { setIsRelogin(state: AppState, token: boolean): void setToken(state: AppState, token: string): void setLoginInfo(state: AppState, info: UserLoginInfo): void setLogout(state: AppState): void setOption(state: AppState, option: Option): void setContextPath(state: AppState, path: string): void setModuleName(state: AppState, name: string): void setModuleCode(state: AppState, code: string): void setAppModules(state: AppState, modules: []): void setIsCollapseChange(state: AppState, type: boolean): void setContentFullScreenChange(state: AppState, type: boolean): void menuListChange(state: AppState, arr: []): void setKeepAliveComponentsName(state: AppState, nameArr: []): void addKeepAliveComponentsName(state: AppState, name: string): void delKeepAliveComponentsName(state: AppState, name: string): void } export const mutations = { setIsRelogin(state: AppState, token: boolean) { state.isRelogin = token }, setToken(state: AppState, token: string) { state.token = token }, setLoginInfo(state: AppState, info: UserLoginInfo) { state.loginInfo = info }, setLogout(state: AppState) { state.token = ''; state.loginInfo = undefined; removeToken(); localStorage.removeItem('tabs'); localStorage.removeItem('vuex'); sessionStorage.removeItem('vuex'); }, setOption(state: AppState, option: Option) { //todo 未完成 //state.options[option.name] = option.value }, setContextPath(state: AppState, path: string) { state.contextPath = path }, setModuleName(state: AppState, name: string) { state.moduleName = name }, setModuleCode(state: AppState, code: string) { state.moduleCode = code }, setAppModules(state: AppState, modules: []) { state.appModules = modules }, setIsCollapseChange(state: AppState, type: boolean) { state.isCollapse = type }, setContentFullScreenChange(state: AppState, type: boolean) { state.contentFullScreen = type }, menuListChange(state: AppState, arr: []) { state.menuList = arr }, setKeepAliveComponentsName(state: AppState, nameArr: []) { state.keepAliveComponentsName = nameArr }, addKeepAliveComponentsName(state: AppState, name: string) { state.keepAliveComponentsName.push(name) }, delKeepAliveComponentsName(state: AppState, name: string) { const key = state.keepAliveComponentsName.indexOf(name) if (key !== -1) { state.keepAliveComponentsName.splice(key, 1) console.log(state.keepAliveComponentsName) } }, }