vue中token验证登录

// 首次登录获取token存储在localStorage或者vueX中
// 在请求拦截器(request)中设置每次请求都携带token
axios.interceptors.request.use(function (config) {
    // 在请求之前验证token,是否有token或者过期
    let myToken = window.localStorage.getItem('token')
    if (token) {
        axios.defaults.headers.common['Authorization'] = myToken
    } else {
        this.$router.replace({
            // 跳转登录页
            path: '/login',
            // 存储路径,登录成功跳转
            query: {redirect: this.$router.currentRoute.fullPath}
        })
    }
    return config
}, function (error) {
    // 对错误进行判断
    // 如果返回401,则跳转到登录页
    switch (error.response.status) {
        case 401:
            this.$router.replace({
                path: '/login',
                query: {redirect: this.$router.currentRoute.fullPath}
            })
    }
    return Promise.reject(error)
})
    
// 通过路由守卫来判断当前路由页面是否需要某种条件限制
router.beforeEach(to, from, next) {
        // 判断是否限制
    if (to.meta.requiresAuth) {
        // 判断token
        if (token) {
            
        } else {
            
        }
    } else {
        next()
    }
}