123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- import Vue from 'vue'
- import Router from 'vue-router'
- import store from '../store'
- Vue.use(Router)
- let router = new Router({
- routes: [
- {
- path: '/',
- name: 'home',
- component: resolve => require(['@/page/home2'], resolve)
- },
- {
- path: '/videos',
- name: 'videos',
- component: resolve => require(['@/page/videos'], resolve)
- },
- {
- path: '/capacity',
- name: 'capacity',
- component: resolve => require(['@/page/capacity'], resolve)
- },
- {
- path: '/pay/:orderId/:orderType/:orderSn/:payType',
- name: 'pay',
- component: resolve => require(['@/page/pay'], resolve)
- },
- {
- path: '/payrecharge/:cameraId/:childName',
- name: 'payrecharge',
- component: resolve => require(['@/page/payrecharge'], resolve)
- },
- {
- path: '/payresult/:isSuccess',
- name: 'payresult',
- component: resolve => require(['@/page/payresult'], resolve)
- },
- {
- path: '/product',
- name: 'product',
- component: resolve => require(['@/page/product'], resolve)
- },
- {
- path: '/binocular',
- name: 'binocular',
- component: resolve => require(['@/page/binocular'], resolve)
- },
- {
- path: '/about',
- name: 'about',
- component: resolve => require(['@/page/about'], resolve)
- },
- {
- path: '/location',
- name: 'location',
- component: resolve => require(['@/page/location'], resolve)
- },
- {
- path: '/eight',
- name: 'eight',
- component: resolve => require(['@/page/eight'], resolve)
- },
- {
- path: '/purchase',
- name: 'purchase',
- component: resolve => require(['@/page/purchase'], resolve)
- },
- {
- path: '/404',
- name: '404',
- component: resolve => require(['@/page/404'], resolve)
- },
- {
- path: '/purchasetow',
- name: 'purchasetow',
- component: resolve => require(['@/page/purchasetow'], resolve)
- },
- {
- path: '/privilege/:cameraId/:childName',
- name: 'privilege',
- component: resolve => require(['@/page/privilege'], resolve)
- },
- {
- path: '/introduce/:id',
- name: 'introduce',
- component: resolve => require(['@/page/introduce'], resolve)
- },
- {
- path: '/introtow/:id',
- name: 'introtow',
- component: resolve => require(['@/page/introtow'], resolve)
- },
- {
- path: '/',
- name: 'manage',
- component: resolve => require(['@/page/manage'], resolve),
- children: [
- {
- name: 'information',
- path: '/information',
- component: resolve => require(['@/page/manage/temp/information'], resolve),
- meta: {requireAuth: true}
- },
- {
- name: 'scene',
- path: '/scene',
- component: resolve => require(['@/page/manage/temp/scene'], resolve),
- meta: {requireAuth: true}
- },
- {
- name: 'order',
- path: '/order',
- component: resolve => require(['@/page/manage/temp/order'], resolve),
- meta: {requireAuth: true}
- },
- {
- name: 'consumption',
- path: '/consumption',
- component: resolve => require(['@/page/manage/temp/consumption'], resolve),
- meta: {requireAuth: true}
- },
- {
- name: 'device',
- path: '/device',
- component: resolve => require(['@/page/manage/temp/device'], resolve),
- meta: {requireAuth: true}
- },
- {
- name: 'change',
- path: '/change',
- component: resolve => require(['@/page/manage/temp/change'], resolve),
- meta: {requireAuth: true}
- }
- ]
- },
- // {
- // path: '/service/down',
- // name: 'service_down',
- // component: () => import('@/page/service/down')
- // },
- {
- path: '/service/overview',
- name: 'service_overview',
- component: resolve => require(['@/page/service/overview'], resolve)
- },
- {
- path: '/cases/overview',
- name: 'case_overview',
- component: resolve => require(['@/page/cases/overview'], resolve)
- },
- // {
- // path: '/service/:id',
- // name: 'service_list',
- // component: () => import('@/page/service/temp')
- // },
- {
- path: '/service/',
- name: 'service',
- children: [
- {
- path: ':id/:active',
- name: 'service_list',
- component: resolve => require(['@/page/service/temp'], resolve)
- }
- ],
- component: resolve => require(['@/page/service'], resolve)
- },
- {
- path: '/cases/:id',
- name: 'cases',
- component: resolve => require(['@/page/cases'], resolve)
- },
- {
- path: '/cases/app',
- name: 'cases_app',
- component: resolve => require(['@/page/cases/app'], resolve)
- }
- ],
- scrollBehavior (to, from, savedPosition) {
- if (to.hash === '') {
- return { x: 0, y: 0 }
- } else {
- return false
- }
- }
- })
- router.beforeEach((to, from, next) => {
- let token = store.state.user.token
- if (to.meta.requireAuth) {
- if (token) {
- next()
- } else {
- next({
- name: 'home'
- })
- }
- } else {
- next()
- }
- })
- router.afterEach((to, from) => {
- if (to.query.id) {
- let target = document.querySelector('#' + to.query.id)
- if (!target) {
- setTimeout(() => {
- target = document.querySelector('#' + to.query.id)
- target ? you(target, to.query.id) : window.scrollTo(0, 0)
- }, 100)
- } else {
- you(target, to.query.id)
- }
- } else {
- setTimeout(() => {
- you()
- }, 16)
- }
- // || !~queue.indexOf(to.fullPath)
- // if (queue.length === 2) {
- // queue.shift()
- // }
- // queue.push(to.fullPath)
- function you (target, id) {
- if (target) {
- let node = target
- let top = 0
- while (node && node !== document.documentElement && node !== document.body) {
- top += node.offsetTop
- node = node.offsetParent
- }
- setTimeout(() => {
- window.skip = true
- window.scrollTo(0, top - 70)
- })
- } else {
- window.scrollTo(0, 0)
- }
- }
- })
- export default router
|