main.js 961 Bytes
Newer Older
Pan's avatar
Pan committed
1
import Vue from 'vue'
2
import 'normalize.css/normalize.css' // A modern alternative to CSS resets
Pan's avatar
Pan committed
3
import ElementUI from 'element-ui'
Pan's avatar
Pan committed
4
import 'element-ui/lib/theme-chalk/index.css'
许倩倩's avatar
许倩倩 committed
5
import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n
Pan's avatar
Pan committed
6
import '@/styles/index.scss' // global css
Pan's avatar
Pan committed
7 8
import App from './App'
import store from './store'
9
import router from './router'
Pan's avatar
Pan committed
10
import '@/icons' // icon
Pan's avatar
Pan committed
11
import '@/permission' // permission control
yanzhongrong's avatar
yanzhongrong committed
12
import performLoader from '@/utils/global_main_loader.js'
Pan's avatar
Pan committed
13

neogcg's avatar
neogcg committed
14
 
15
Vue.use(ElementUI, { locale })
yanzhongrong's avatar
yanzhongrong committed
16
performLoader(Vue) // 所有的第三方插件性质的东西都放到这里面了
Pan's avatar
Pan committed
17
Vue.config.productionTip = false
Pan's avatar
Pan committed
18

yanzhongrong's avatar
yanzhongrong committed
19 20 21 22 23 24 25 26
function dispatchWithPromise(path) {
  return new Promise(resolve => {
    store.dispatch(path, resolve)
  })
}

const beforeEnterApp = () => {
  dispatchWithPromise('depart/getDepart')
27
  dispatchWithPromise('user/getInfo')
yanzhongrong's avatar
yanzhongrong committed
28 29 30 31
}

beforeEnterApp()

Pan's avatar
Pan committed
32 33 34 35
new Vue({
  el: '#app',
  router,
  store,
Pan's avatar
Pan committed
36
  render: h => h(App)
Pan's avatar
Pan committed
37
})