zoukankan      html  css  js  c++  java
  • 请求拦截,响应拦截

     

     安装可以解析eleToken 的模块

    yarn add jwt-decode -D

    使用解析模块

    import jwt_decode from 'jwt-decode'

    const decoded = jwt_decode(eleToken)
    //请求拦截
    axios.interceptors.request.use(
      config => {
        if(localStorage.eleToken){ //如果我的eleToken存在
          // 设置统一的请求header
          config.headers.Authorization = localStorage.eleToken //授权
        }
        return config;
      },
      error => {
        return Promise.reject(error);
      }
    );
    
    //响应拦截
    axios.interceptors.response.use(
      response => {
        return response;
      },
      error => {
        // 判断返回状态是不是401,如果是401代表当前的eleToke以及失效,需要移除localStorage里面的eleToken
        let {status} = error.response //获取错误状态码
        if(status == 401){
          message.error("当前登录(eleToken)已失效,请重新登录")
          localStorage.removeItem("eleToken")//清除eleToken
          this.router.push("/Login")//让用户从新回到登录页面
        }
        return Promise.resolve(error.response);
      }
    );

     

  • 相关阅读:
    Linux-文件目录管理
    20. 有效的括号
    242. 有效的字母异位词
    387. 字符串中的第一个唯一字符
    136. 只出现一次的数字
    14. 最长公共前缀
    268. 丢失的数字
    169. 多数元素
    26. 删除有序数组中的重复项
    283. 移动零
  • 原文地址:https://www.cnblogs.com/tlfe/p/11567620.html
Copyright © 2011-2022 走看看