import Vue from 'vue' import store from '@/store' import VueRouter from 'vue-router' import { query } from '@/utils/query' import { getPvUv } from '@/api/public.js' Vue.use(VueRouter) const routes = [ // { // path: '/', // redirect: '/home/overview', // 只有区域,及区域以上用户才能进入总部首页这一套 // }, { path: '/404', name: '404页面', component: () => import('../components/404'), }, { path: '/400', component: () => import('../views/table'), }, { path: '/group', name: '集团首页', component: () => import('../views/statistics/index'), }, // home { path: '/home', name: 'home', component: () => import('../views/index'), redirect: '/home/homepage', children: [ { path: 'homepage', name: '项目首页', component: () => import('../views/homepage'), redirect: '/home/overview', }, //概览 { path: 'overview', name: '项目概览', component: () => import('../views/overview'), }, // 楼层功能 { path: 'floorFunc', name: '楼层功能', component: () => import('../views/floorFunc'), }, // 设备设施 { path: 'equipment', name: '设备设施', component: () => import('../views/equipment'), }, // 其他功能 { path: 'other', name: '其他事项', component: () => import('../views/other'), }, // 分析 { path: 'analysis', name: '分享报表', component: () => import('../views/analysis'), }, //图例库管理 { path: 'legendLibrary', name: '图例管理', component: () => import('../views/legendLibrary'), }, //图例绘制规则 { path: 'legendRules', name: '绘制规则', component: () => import('../views/legendRules'), }, ], }, ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes, }) const ignore = ['/404'] router.beforeEach(async (to, from, next) => { if (!ignore.includes(to.path)) { const token = store.getters['ssoToken'] || query().token if (token) { store.commit('SETSSOTOKEN', token) if (to.path == '/') { next('/group') } if (to.path == '/group' || to.path == '/home/homepage') { if (store.state.accessLevel == -1) { await store.dispatch('getUserInfo', router) await store.dispatch('getBrand') // await store.dispatch('getFact') } } await store.dispatch('getFloors') await store.dispatch('getBrand') // await store.dispatch('getFact') next() } else { let lastRoute = { path: to.path, params: to.params, query: to.query, } store.commit('SETLASTROUTER', lastRoute) let ssoServer = 'http://oauth.wanda-dev.cn' let systemcode = 'CAD156', signal = new Date().getTime(), version = '1.0.0' window.location.href = `${ssoServer}/login?systemcode=${systemcode}&signal=${signal}&version=${version}` } } else { next() return } }) // 跳入路由后要对发送pvuv router.afterEach((to) => { let data = { type: 'router', target: to.name, parameter: to.path, } getPvUv(data) .then((res) => { console.log('pvuv', res) }) .catch((res) => { console.log('error', res) }) }) export default router