main.js 1.33 KB
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import { Menu, Layout, Breadcrumb, Icon, Button, DatePicker, Input, Table, Tag, Divider, Dropdown, Modal, Form, Select, message, Pagination } from 'ant-design-vue'
import 'ant-design-vue/dist/antd.css'
import { config } from './api/config'
import axios from 'axios'
import qs from 'qs'

Vue.use(Layout)
Vue.use(Menu)
Vue.use(Breadcrumb)
Vue.use(Icon)
Vue.use(Button)
Vue.use(Input)
Vue.use(Table)
Vue.use(DatePicker)
Vue.use(Tag)
Vue.use(Divider)
Vue.use(Dropdown)
Vue.use(Modal)
Vue.use(Form)
Vue.use(Select)
Vue.use(Input.TextArea)
Vue.use(message)
Vue.use(Pagination)
Vue.config.productionTip = false

// Vue.prototype.$http = axios
Vue.prototype.$qs = qs
Vue.prototype.$confirm = Modal.confirm
Vue.prototype.$message = message

router.beforeEach(function (to, from, next) {
  // 项目初始化进行鉴权
  if (sessionStorage.getItem('userId')) {
    next()
  } else {
    config.ddconfig().then((res) => {
      if (res === 'no') {
        console.log('no', res)
        next({ name: 'configError' })
      } else {
        next()
      }
    }).then(() => {
      config.ddready('ddpermission')
    }).catch((err) => {
      console.log(err, '登录失败')
    })
  }
})

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')