明梦爽
2022-03-23 fa4e157e028fb1c666f34502792b14ff9cdcf0bb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
import Vue from 'vue'
import Router from 'vue-router'
import Login from './components/Login.vue'
import Home from './components/Home.vue'
import NotFound from './components/NotFound.vue'
import index from './components/page/index.vue'
import introduce from './components/page/introduce.vue'
import zhengce from './components/page/zhengce.vue'
import keXieXiangMu from './components/page/keXieXiangMu.vue'
import xueShuJiaoLiu from './components/page/xueShuJiaoLiu.vue'
import banShiZhiNan from './components/page/banShiZhiNan.vue'
import kePuFengCai from './components/page/kePuFengCai.vue'
import xueXiaoShouYe from './components/page/xueXiaoShouYe.vue'
import telephone from './components/page/telephone.vue'
import News from './components/page/News.vue'
import moreMessage from './views/homePage/moreMessage'
import Administrator from './components/Administrator/AdminHome.vue'
import Welcome from './components/Administrator/Welcome.vue'
import Main from './components/Administrator/Main.vue'
import Edit from './components/Administrator/Edit.vue'
import EditLunBo from './components/Administrator/EditLunBo.vue'
import AdMain from './components/Administrator/AdMain.vue'
import AdEdit from './components/Administrator/AdEdit.vue'
 
 
Vue.use(Router)
 
const router = new Router({
  routes: [
    { path: '/', redirect: '/home' },
    { path: '/login', component: Login },
    { path:'/administrator',
      component: Administrator,
      children: [{ path:'welcome',component:Welcome },
                { path:'main',component:Main },
                { path:'edit',component:Edit },
                { path:'news',component:News },
                { path:'editlunbo',component:EditLunBo },
                { path:'admain',component:AdMain },
                { path:'adedit',component:AdEdit }] 
    },
    { 
      path: '/home', 
      component: Home ,
      children:[
        {
          path:'/home',
          redirect:'index'
        },
        {
          path:'index',
          component:index
        },
        {
          path:'introduce',
          name:'introduce',
          component:introduce
        },
        {
          path:'zhengce',
          name:'zhengce',
          component:zhengce
        },
        {
          path:'keXieXiangMu',
          name:'keXieXiangMu',
          component:keXieXiangMu
        },
        {
          path:'xueShuJiaoLiu',
          name:'xueShuJiaoLiu',
          component:xueShuJiaoLiu
        },
        {
          path:'banShiZhiNan',
          name:'banShiZhiNan',
          component:banShiZhiNan
        },
        {
          path:'kePuFengCai',
          name:'kePuFengCai',
          component:kePuFengCai
        },
        {
          path:'xueXiaoShouYe',
          name:'xueXiaoShouYe',
          component:xueXiaoShouYe
        },
        {
          path:'telephone',
          name:'telephone',
          component:telephone
        },
        {
          path:'moreMessage',
          name:'moreMessage',
          component:moreMessage
        },
        {
          path:'news',
          name:'News',
          component:News
        },
      ]
    },
    { path:'*',component:NotFound }
  ],
  scrollBehavior(to, from, savedPosition) { //页面跳转后自动回到顶部
    if (savedPosition) {
        return savedPosition
    }
    return {x: 0, y: 0}
  }
})
 
// 挂载路由导航守卫
router.beforeEach((to, from, next) => {
  // to 将要访问的路径
  // from 代表从哪个路径跳转而来
  // next 是一个函数,表示放行
  //     next()  放行    next('/login')  强制跳转
  // if (to.path === '/administrator/main' && !tokenStr) return next()
  // if (to.path === '/home/index') return next()
  // 获取token
  const tokenStr = window.sessionStorage.getItem('token')
  if (to.path === '/administrator/main' && !tokenStr) return next('/login')
  if (to.path === '/administrator/admain' && !tokenStr) return next('/login')
  if (to.path === '/administrator' && !tokenStr) return next('/login')
  if (to.path === '/administrator/edit' && !tokenStr) return next('/login')
  if (to.path === '/administrator/welcome' && !tokenStr) return next('/login')
  // if (!tokenStr) return next('/login')
  next()
})
 
export default router