React 攔截器

react 攔截器配置

utils 下 request

import axios from 'axios';
// 環(huán)境變量
let env = process.env.NODE_ENV;
env = 'production';

// development開發(fā) test測(cè)試  production生產(chǎn)
let baseUrl = '';
if (env === 'development') {
  baseUrl = 'http://localhost:3002';
} else if (env === 'test') {
  baseUrl = '待配置';
} else if (env === 'production') {
  baseUrl = 'http://huruqing.cn:3002';
}



// 創(chuàng)建axios實(shí)例
const service = axios.create({
  // api 的 base_url
  baseURL: baseUrl,
  timeout: 50000 // 請(qǐng)求超時(shí)時(shí)間(因?yàn)樾枰{(diào)試后臺(tái),所以設(shè)置得比較大)
})

// request攔截器(請(qǐng)求前的處理)
service.interceptors.request.use(
  config => {
    // if (store.getters.token) {
    //   config.headers['X-Token'] = getToken() // 讓每個(gè)請(qǐng)求攜帶自定義token 請(qǐng)根據(jù)實(shí)際情況自行修改
    // }
    return config
  },
  error => {
    // Do something with request error
    console.log(error) // for debug
    return Promise.reject(error)
  }
)

// response 攔截器(數(shù)據(jù)返回后的處理)
service.interceptors.response.use(
  response => {
    const res = response.data
    if (res.code == 666) {
      return response.data
    } else if (res.code == 603) {
      // 跳轉(zhuǎn)到登陸頁(yè)面
    } else {
      return Promise.reject('error')
    }
  },
  error => {
    console.log('err' + error) // for debug
    return Promise.reject(error)
  }
)

const get = (url, data) => {
  return service.get(url, {
    params: data
  });
}

const post = (url, data) => {
  return service.get(url, data);
}



export default {
  get,
  post
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容