2018-12-28 axios 拦截器 和导航守卫验证用户是否登录

// 添加请求拦截器

axios.interceptors.request.use(function (config) {

  // 将token给到一个前后台约定好的key中,作为请求发送

  let token = localStorage.getItem('mytoken')

  if (token) {

    config.headers['Authorization'] = token

  }

  return config

}, function (error) {

  // Do something with request error

  return Promise.reject(error)

})

/************************************************************************************************/

导航守卫

router.beforeEach((to, from, next) => {

  let token = localStorage.getItem('mytoken')

  // 如果已经登录,那我不干涉你,让你随便访问

  if (token) {

    next()

  } else {

    if (to.path !== '/login') {

      // 如果没有登录,但你访问其他需要登录的页面,那我就让你跳到登录页面去

      next({path: '/login'})

    } else {

      // 如果没有登录,但你访问的login,那就不干涉你,让你访问

      next()

    }

  }

})

你可能感兴趣的:(2018-12-28 axios 拦截器 和导航守卫验证用户是否登录)