為了減少代碼的臃腫和方便維護,對axios請求統(tǒng)一做了一些處理卷员,代碼如下
import axios from 'axios'
import qs from 'qs'
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';
//POST傳參序列化
axios.interceptors.request.use((config) => {
if(config.method === 'post'){
// config.data = qs.stringify(config.data);
}
return config;
},(error) =>{
// console.warn("錯誤的傳參");
return Promise.reject(error);
});
//code狀態(tài)碼200判斷
axios.interceptors.response.use((res) =>{
if(!res.data.hasOwnProperty('status')) {
res.data.status = res.data.code;
//return Promise.reject(res.data);
}
return Promise.resolve(res.data)
}, (error) => {
// console.warn("網(wǎng)絡(luò)異常");
return Promise.reject(error);
});
function fetch(options) {
options = options || {}
let pos = options.url.search(/^http/i)
if (pos == -1)
options.url = serviceProtocol() + options.url;
options.headers = options.headers || {};
return axios(options)
}
export default fetch;
大致思路就是這樣
fetch的使用
export function publishChatMsg(data) {
return fetch({
method: 'post',
url: ``,
data: data
})
}