import router from './router' import store from './store' import NProgress from 'nprogress' // Progress 进度条 import 'nprogress/nprogress.css'// Progress 进度条样式 import { getToken } from '@/utils/auth' // 验权 import { Message } from 'element-ui' import { initApplicationCfg } from './api/MdcApi' if (process.env.NODE_ENV !== 'development') { if (window.console) { window.console.log = function() {} } else if (console) { console.log = function() {} } } const whiteList = ['/'] // 不重定向白名单 router.beforeEach((to, from, next) => { NProgress.start() initApplicationCfg().then(res => { // console.log(to.path) if (getToken().value) { if (store.getters.workshopList.length === 0) { store.dispatch('GetInfo').then(res => { // 拉取用户信息 if (to.path === '/') { next('/dashboard/index') } // if (to.path !== '/' && res.code === 0) { if (res.code === 0) { Message({ message: res.msg, type: 'error', duration: 3 * 1000 }) } // if (to.path === '/' && store.getters.workshopList.length > 0) { // next({ path: `/workshop/${store.getters.workshopList[0].workshopId}` }) // } else if (to.path.indexOf('workshop') > -1) { // 车间 const workshopIds = store.getters.workshopList.map((item) => item.status.id) if (to.params.pid === 'undefined') { next('/') } else if (workshopIds.indexOf(to.params.pid) > -1) { next({ path: `/workshop/${to.params.pid}` }) } else { next({ path: `/workshop/${workshopIds[0]}` }) } } else if (to.path.indexOf('device') > -1) { // 设备 const cateIds = store.getters.deviceCategories.map((item) => item.type) // console.log(to.params.did) if (to.params.did === 'undefined') { next('/') } else if (cateIds.indexOf(to.params.did) > -1) { next({ path: `/device/${to.params.did}` }) } else { next({ path: `/device/${cateIds[0]}` }) } } else { next() } }) } else { next() } } else { if (whiteList.indexOf(to.path) !== -1) { next() } else { next('/') NProgress.done() } } }) }) router.afterEach((to) => { if (to.path.indexOf('workshop') > -1) { // 车间 // const [{ roomName = '' }] = store.getters.workshopList.filter((item) => item.workshopId === to.params.pid) // console.log(roomName) // to.matched[to.matched.length - 1].meta.title = roomName } else if (to.path.indexOf('device') > -1) { // 设备 // const [{ remark = '' }] = store.getters.deviceCategories.filter((item) => item.type === to.params.did) // to.matched[to.matched.length - 1].meta.title = remark } NProgress.done() // 结束Progress })