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)
})
})
}
axios ajax vue 封裝axios get post put 等
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.