ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
**1.在main.js中,引入axios,设置请求拦截器** ``` // 导入axios import axios from 'axios' //引入axios axios.defaults.baseURL = "http://timemeetyou.com:8889/api/private/v1/" //定义请求根路径 // 设置请求拦截器,请求前会先调用此函数,访问每个页面需要先判断权限,预处理请求 axios.interceptors.request.use(config => { console.log(config); // 请求头中返回token值,用来访问其他菜单,权限管理,看具体要求 config.headers.Authorization = window.sessionStorage.getItem("token"); // 必须返回 return config; }) Vue.prototype.$http = axios; //把axios加到Vue的原型对象中去,可以直接用$http访问 ``` **2.在router文件夹下的index.js中重定向根路由,挂载路由导航守卫** ``` const router = new VueRouter({ routes: [ { path: '/', redirect: '/login' }, // 重定向到login组件 ] )} //挂载路由导航守卫 router.beforeEach((to, from, next) => { // to:将要访问的路径; from:从哪个路径跳转来 next是一个方法,表示放行 if (to.path === '/login') return next(); //获取token const tokenstr = window.sessionStorage.getItem('token'); // 判断没有token,跳转到登录页面 if (!tokenstr) { return next('/login'); } // 登录了,正常跳转 next(); }) ```