zhizhijie
13 小时以前 91d7eee872986f3aaa6e04edf843dd3a0526ba8f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import App from './App.vue'
import router from './router'
 
Vue.use(ElementUI)
Vue.config.productionTip = false
 
// 全局登出:清除登录态并回登录页(各页面侧边栏「退出登录」菜单共用)
Vue.mixin({
  methods: {
    // el-menu 同路由导航(NavigationDuplicated)时 Element UI 会把高亮回滚为点击前旧值;
    // 点击后延迟一个宏任务强制纠正(宏任务晚于 push 的微任务回调,保证最终高亮正确)。
    onMenuSelect(index) {
      setTimeout(() => {
        const menu = this.$refs.sideMenu
        if (menu && menu.activeIndex !== index) menu.activeIndex = index
      }, 0)
    },
    logout() {
      sessionStorage.removeItem('token')
      sessionStorage.removeItem('username')
      sessionStorage.removeItem('realName')
      sessionStorage.removeItem('modules')
      this.$router.push('/login')
    }
  }
})
 
new Vue({
  router,
  render: h => h(App)
}).$mount('#app')