🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
``` // /router/index.js import Vue from 'vue' import VueRouter from 'vue-router' // import Login from '../components/Login.vue' // import Home from '../components/Home.vue' // import Welcome from '../components/Welcome.vue' // import ListTelQs from '../components/ListTelQs.vue' // 路由懒加载 // const Login = () => import(/* 登陆页面" */ '@/views/login/Login.vue') // const LoginBtn = () => import(/* 登陆页面" */ '../views/login/LoginBtn.vue') // const Home = () => import(/* 登陆后页面 */ '../components/Home.vue') // const Welcome = () => import(/* Home默认加载页面" */ '../components/Welcome.vue') // const Sosid = () => import(/* 点位管理页面" */ '../components/Sosid.vue') Vue.use(VueRouter) // const routes = [ // { // path: '/', // redirect: '/Login' // }, // { // path: '/ListTelQs', // name: 'ListTelQs', // component: ListTelQs // }, // { // path: '/Home', // name: 'Home', // component: Home // }, // { // path: '/Login', // name: 'Login', // component: Login // }, // { // path: '/Welcome', // name: 'Welcome', // component: Welcome // } // { // path: '/about', // name: 'About', // component: () => import(/* webpackChunkName: "about" */ '../views/About.vue') // } // ] const routes = [ { path: '/', redirect: '/login' }, { path: '/login', component: () => import(/* 登陆页面" */ '@/views/login/Login.vue') }, { path: '/Home', component: () => import(/* 登陆后页面 */ '@/views/home/Home.vue'), redirect: '/Welcome', children: [ { path: '/Home', component: () => import(/* Home默认加载页面" */ '@/views/home/Welcome.vue') }, { path: '/LoginBtn', component: () => import(/* 表单提交" */ '@/views/login/LoginBtn.vue') }, { path: '/Sosid', component: () => import(/* 点位管理页面" */ '@/views/sosid/Sosid.vue') } ] } ] const router = new VueRouter({ routes }) // 挂载路由导航守卫 router.beforeEach((to, from, next) => { // to 将要访问的路径 // from 代表从哪个路径跳转而来 // next 是一个函数,表示放行 // next() 放行 next('/login')强制跳转 if (to.path === '/login') return next() // 获取token const tokenStr = window.sessionStorage.getItem('token') // 没有token强制跳转 if (!tokenStr) return next('/login') // 有token放行 next() }) export default router ```