123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- 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
|