1 Star 0 Fork 0

赵亮同/极客园

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
index.js 2.52 KB
一键复制 编辑 原始数据 按行查看 历史
赵亮同 提交于 2023-06-19 22:00 . 存储token完成
import Vue from 'vue'
import VueRouter from 'vue-router'
// 登录
// import Login from '@/views/Login/Login.vue'
// // 注册
// import Register from '@/views/Register/Register.vue'
// // 主页
// import Layout from '@/views/Homepage/Layout.vue'
// // // 主页每项详情
// import Detail from '@/views/Detail/Detail.vue'
// // 主页下二级路由
// // 面经
// import Article from '@/views/Homepage/Article.vue'
// // // 收藏
// import Collect from '@/views/Homepage/Collect.vue'
// // // 喜欢
// import Like from '@/views/Homepage/Like.vue'
// // // 我的
// import User from '@/views/Homepage/User.vue'
// // 导入token获取方法
import { getToken } from '@/utils/storage' // // 面经
// 路由懒加载
// 在打包时,会将原本的全部堆在一个js的代码,改变为多个文件,好处就是用到谁,调用谁,这样就能提高性能
const Login = () => import('@/views/Login/Login.vue')
const Register = () => import('@/views/Register/Register.vue')
const Layout = () => import('@/views/Homepage/Layout.vue')
const Detail = () => import('@/views/Detail/Detail.vue')
// 二级路由
const Article = () => import('@/views/Homepage/Article.vue')
const Collect = () => import('@/views/Homepage/Collect.vue')
const Like = () => import('@/views/Homepage/Like.vue')
const User = () => import('@/views/Homepage/User.vue')
Vue.use(VueRouter)
const routes = [
// { path: '/', redirect: '/home' },
// 登录
{ path: '/Login', component: Login },
// 注册
{ path: '/Register', component: Register },
// 主页
{
path: '/',
redirect: '/article',
component: Layout,
children: [
{ path: '/article', component: Article },
{ path: '/collect', component: Collect },
{ path: '/like', component: Like },
{ path: '/user', component: User }
]
},
// 主页每项详情
{ path: '/Detail/:id', component: Detail }
]
const router = new VueRouter({
routes
})
router.beforeEach((to, form, next) => {
const token = getToken()
// console.log(token)
const vips = ['/Login', '/Register']
// 判断是否有token
if (token) {
// 如果拿到直接放行
next()
} else {
// 如果拿不到,再次进行判断,跳转的页面是否是登录或者注册页面
// 数组.includes()方法可以判断数组中是否有这个值
// 再次判断是否是白名单内的跳转路径
if (vips.includes(to.path)) {
// 返回登录页
next()
} else {
// 如果不是白名单路径,那么跳转到登录
next('/Login')
}
}
})
export default router
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhaoliangtong/geek-park.git
git@gitee.com:zhaoliangtong/geek-park.git
zhaoliangtong
geek-park
极客园
master

搜索帮助