zoukankan      html  css  js  c++  java
  • vue 路由拦截器和请求拦截器

    vue 拦截器
    • 路由导航守卫
    // 路由导航守卫
        router.beforeEach((to,from,next)=>{
          // to 是从哪里来
          // from 去哪里
          // next  next() 代表放行  next('/login') 强制跳回login页面
          // 1 判断当前路由是不是/login 如果是直接放行
          if(to.path=='/login') return next();
          // 2 判断当前路由不是/login,那么就获取他的token
          const token = sessionStorage.getItem('token');
          // 3 如果token 不存在,强制跳回 /login
          if(!token) return next('/login');
          // 4 如果token 存在。则继续放行
          next();
    })
    
    • 请求拦截器 (当发送请求时才会触发此功能)
      axios.interceptors.request.use(function (config) {
          let token = window.localStorage.getItem("token");
              if (token) {
                  config.headers.token = token;    //将token放到请求头发送给服务器
              }
             return config; // 最终需要返回config
            }, function (error) {
            return Promise.reject(error);
      });
    
    • 响应拦截器 (获取响应值时才会触发此功能)
      axios.interceptors.response.use(
        response => {
          if (response.data.code == 9000) {
            alert(response.data.msg);
            router.push({
              path: "/login"
            });
          }
          return response;
        },
        error => {
          // 这里对 error 预期结果是包含具体错误信息和状态码
          if (error && error.response && error.response.status) {
            switch (error.response.status) {
              case 500:
                // do something...
                break;
              case 404:
                // do something...
                break;
              default:
                // do something...
                break;
            }
          }
        }
    );
    
  • 相关阅读:
    POJ 2955 Brackets 区间DP
    POJ 3311 Hie with the Pie 最短路+状压DP
    POJ 3615 Cow Hurdles(最短路径flyod)
    hdu 3790 最短路径dijkstra(多重权值)
    poj 3254 Corn Fields 状压DP
    状压DP
    poj2411 Mondriaan's Dream 状压DP
    M: Mysterious Conch 字符串哈希
    哈希(hash)理解
    域渗透:GPP(Group Policy Preferences)漏洞
  • 原文地址:https://www.cnblogs.com/wuxiaoshi/p/11819197.html
Copyright © 2011-2022 走看看