Рубрики
Uncategorized

Вторичная упаковка Vue Axios

Автор оригинала: David Wong.

импорт axios из “axios”; импорт QS из “qs”;

//Переключение среды//если (process.env.NODE_ENV) {//;//} иначе, если (process.env.NODE_ENV) {//;//}

//Переключение среды//если (process.env.NODE_ENV) {//;//} иначе, если (process.env.NODE_ENV) {//;//} ;//Перехватчик HTTP-запросов axios.interceptors.request.use( конфигурация => {

config.headers = {
  'Content-Type':'application/x-www-form-urlencoded'
}
return config;

}, ошибка => {

return Promise.reject(error);

} );

//Перехватчик ответов-это обработка исключений axios.interceptors.response.use( ответ => {

if (response.status === 200) {
  return Promise.resolve(response);
} else {
  return Promise.reject(response);
}

}, ошибка => {

if (err && err.response) {
  switch (err.response.status) {
    case 400:
        console.log ('bad request ')
      break;
    case 403:
      console.log ('Access denied ')
      break;
    case 404:
      console.log ('request error, resource not found ')
      break;
    case 500:
      console.log ('server side error ')
      break;
    case 501:
      console.log ('network not implemented ')
      break;
    case 502:
      console.log ('network error ')
      break;
    default:
      console.log (` connection error${ err.response.status >)
  }
} else {
  console.log ('connection to server failed ')
}
return Promise.resolve(err.response)

})

экспорт по умолчанию {

get(url, params){
  return new Promise((resolve, reject) => {
      axios.get(url,{
        params:params
      }).then(res => {
        resolve(res.data);
      }).catch(err =>{
        reject(err.data);
      })
  })
},
post(url, params) {
  return new Promise((resolve, reject) => {
       axios.post(url, QS.stringify(params))
      .then(res => {
          resolve(res.data);
      })
      .catch(err =>{
          reject(err.data)
      })
  });
}

};

Оригинал: “https://developpaper.com/vue-axios-secondary-packaging/”