import axios from 'axios';
import { getCookie } from '../api/cookies'
import {getQueryString} from '../api/unit'
const instance = axios.create({
timeout: 5000,
baseURL:'',
withCredentials: true,
headers: {token: getCookie('token')}
});
//http response 攔截器
instance.interceptors.response.use(
response => {
var res=response.data;
if (res.code == 'A0301' || res.code == 'A0311') {
// 攔截 對應特殊錯誤特別處理
} else {
return response;
}
},
error => {
console.log("response error :" + error);
if (error.response) {
switch (error.response.status) {// token失效處理
case 401://token 失效
return;
}
}
return Promise.reject(error) // 回傳介面回傳的錯誤資訊
}
);
/**
* 封裝get方法
* @param url
* @param data
* @returns {Promise}
*/
export function get(url,params={}){
return new Promise((resolve,reject) => {
instance.get(url,{
params:params
}).then(res => {
resolve(res.data);
}).catch(err =>{
reject(err.data)
})
})
}
/**
* 封裝post請求
* @param url
* @param data
* @returns {Promise}
*/
export function post(url,data = {}){
return new Promise((resolve,reject) => {
instance.post(url,data).then(res => {
resolve(res.data);
}).catch(err =>{
reject(err.data)
})
})
}
/**
* 封裝patch請求
* @param url
* @param data
* @returns {Promise}
*/
export function patch(url,data = {}){
return new Promise((resolve,reject) => {
instance.patch(url,data).then(res => {
resolve(res.data);
}).catch(err =>{
reject(err.data)
})
})
}
/**
* 封裝put請求
* @param url
* @param data
* @returns {Promise}
*/
export function put(url,data = {}) {
return new Promise((resolve, reject) => {
instance.put(url, data).then(res => {
resolve(res.data);
}).catch(err =>{
reject(err.data)
})
})
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/229892.html
標籤:其他
