|  |  | 
 |  |  | const state = { | 
 |  |  |   // 登录用户信息 | 
 |  |  |   userInfo: null, | 
 |  |  |   primaryColor: '#2080f7', | 
 |  |  |   // 首页 | 
 |  |  |   homePage: null, | 
 |  |  |   // 菜单 | 
 |  |  | 
 |  |  |     list: [], | 
 |  |  |     // 是否收起 | 
 |  |  |     collapse: false | 
 |  |  |   } | 
 |  |  |   }, | 
 |  |  |   // tags数组 | 
 |  |  |   tags: [], | 
 |  |  |   // tagsview标签显示隐藏 | 
 |  |  |   isCollapse: false | 
 |  |  | } | 
 |  |  |  | 
 |  |  | const mutations = { | 
 |  |  | 
 |  |  |   }, | 
 |  |  |   // 设置已登录的用户信息 | 
 |  |  |   setUserInfo: (state, data) => { | 
 |  |  |     state.userInfo = data | 
 |  |  |     state.userInfo = { | 
 |  |  |       ...state.userInfo, | 
 |  |  |       ...data | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |  | 
 |  |  |   clearUserInfo: (state) => { | 
 |  |  |     state.userInfo = null | 
 |  |  |   }, | 
 |  |  |  | 
 |  |  |   // 设置首页路由信息 | 
 |  |  |   setHomePage (state, homePage) { | 
 |  |  |     state.homePage = homePage | 
 |  |  | 
 |  |  |   // 重置菜单 | 
 |  |  |   resetMenus: (state) => { | 
 |  |  |     state.menuData.list = [] | 
 |  |  |   }, | 
 |  |  |   //  tags | 
 |  |  |   pushtags (state, val) { | 
 |  |  |     // 如果等于-1说明tabs不存在那么插入,否则什么都不做 | 
 |  |  |     // findindex找角标,循环判断一下,如果等于那么就代表有相同的,就不必添加,如果找不到那就是-1.就添加 | 
 |  |  |     const result = state.tags.findIndex(item => item.index === val.index) | 
 |  |  |     if (result === -1) { | 
 |  |  |       state.tags.push({ ...val, keepAlive: false }) | 
 |  |  |     } else { | 
 |  |  |       state.tags[result] = { ...val, keepAlive: true } | 
 |  |  |     } | 
 |  |  |     // result === -1 ? state.tags.push(val) : (state.tags[result]==val) | 
 |  |  |   }, | 
 |  |  |   // 关闭标签 | 
 |  |  |   closeTab (state, val) { | 
 |  |  |     // 同上,找角标,然后用角标的位置对应删除一位。splice:这是数组的删除方法 | 
 |  |  |     const result = state.tags.findIndex(item => item.index === val.index) | 
 |  |  |     state.tags.splice(result, 1) | 
 |  |  |   }, | 
 |  |  |   // 关闭所有tagsview标签 | 
 |  |  |   cleartagsview (state, val) { | 
 |  |  |     // 清空数组 | 
 |  |  |     state.tags = [] | 
 |  |  |     // 跳转到首页,val接受传过来的当前路由 | 
 |  |  |     if (val !== '/index') { | 
 |  |  |       router.push({ path: '/index' }) | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   // 改变tagsview显示隐藏 | 
 |  |  |   changeisshow (state) { | 
 |  |  |     state.isCollapse = !state.isCollapse | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | const actions = {} |