axios封装

Posted cuishuangshuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios封装相关的知识,希望对你有一定的参考价值。

创建request.js文件

  import  axios  from  ‘axios‘;

  import  { getToken }  from  ‘@/utils/token‘;

  import  { Message }  from  ‘element-ui‘

  axios.defaults.baseURL  =  ‘http://139.196.42:8090/api/‘;

 

  // 请求拦截器

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

    // 在发送请求前

    config.headers[‘token‘]  =  getToken( )

    return  config

  },function(error){

    // 请求错误

    return  Promise.reject(error)

  })

 

  // 响应拦截器

  axios.interceptors.response.use(function(response){

    // 响应数据

    if(response.data.code !== 20000){

      Message({

        message: response.data.message,

        type: ‘warning‘,

        duration: 2000

      })

    }

 

    return  response;

  },function(error){

      Message({

        message: error.message,

        type: ‘error‘,

        duration: 2000

      })

    // 响应数据错误

    return  Promise.reject(error)

  })

  export  default  axios;

 

请求接口封装

  创建api.js文件

  import  request  from  ‘@utils/request‘

  export  function  login(data){

    return  request({

      method: ‘POST‘,

      url: ‘user/login‘,

      data

    })

  }

 

token本地存储,获取,移出封装

  创建token.js文件

  const  tokenName  =  ‘admin-token‘

  export  function  setToken(token){

    return  sessionStorage.setItem( tokenName, token )

  }

  export  function  getToken(token){

    return  sessionStorage.setItem( tokenName )

  }

  export  function  removeToken(token){

    return  sessionStorage.setItem( tokenName )

  }

  

以上是关于axios封装的主要内容,如果未能解决你的问题,请参考以下文章

封装axios

Vue--封装axios跨域

axios封装

vue中axios请求封装

vue中axios请求封装

axios封装