import axios from "axios";
import { message } from 'antd';
let request = axios.create({
headers: {
'Content-Type': 'application/json; charset=utf-8',
}
})
// url
request.defaults.baseURL = process.env.REACT_APP_BASE_URL;
const formatRequestParams = (params: any) => {
if (params && params !== {}) {
const obj = Object.keys(params).reduce((previousValue, currentValue) => {
if (!params[currentValue]) {
return {
...previousValue,
[currentValue]: params[currentValue]
}
}
return previousValue
}, {})
return obj
}
return params
}
request.interceptors.request.use(
config => {
if (config.dataType !== 'form') {
config.data = JSON.stringify(config.data);
}
const formatParams = formatRequestParams(config.params)
const newConfg = {
...config,
headers: {
...config.headers,
'X-Token': localStorage.getItem('token')
},
params: formatParams,
postData: {
...config.postData,
}
};
return newConfg;
},
err => {
return Promise.reject(err)
})
request.interceptors.response.use(function (response) {
const { data, headers } = response;
return headers['content-type'] === "application/octet-stream" ? response : data
}, function (error) {
const status = error?.response?.status;
if (status === 417) {
// 業(yè)務(wù)場(chǎng)景,各自發(fā)揮
window.alert('Your token is expired, please login again')
}
const data = error?.response?.data;
const msg = data?.error?.msg;
message.error(msg)
return Promise.resolve({
data: [],
paging: {},
error: true,
response: error?.response || {},
});
});
export default request;
API 封裝(axios)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門缆八,熙熙樓的掌柜王于貴愁眉苦臉地迎上來曲掰,“玉大人,你說我怎么就攤上這事奈辰±秆” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵奖恰,是天一觀的道長底哥。 經(jīng)常有香客問我,道長房官,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任续滋,我火速辦了婚禮翰守,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疲酌。我一直安慰自己蜡峰,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布朗恳。 她就那樣靜靜地躺著湿颅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粥诫。 梳的紋絲不亂的頭發(fā)上油航,一...
- 文/蒼蘭香墨 我猛地睜開眼沙合,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼奠伪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬榮一對(duì)情侶失蹤绊率,失蹤者是張志新(化名)和其女友劉穎谨敛,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體即舌,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡佣盒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了顽聂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肥惭。...
- 正文 年R本政府宣布牵囤,位于F島的核電站,受9級(jí)特大地震影響滞伟,放射性物質(zhì)發(fā)生泄漏揭鳞。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一梆奈、第九天 我趴在偏房一處隱蔽的房頂上張望野崇。 院中可真熱鬧,春花似錦亩钟、人聲如沸乓梨。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽扶镀。三九已至,卻和暖如春焰轻,著一層夾襖步出監(jiān)牢的瞬間臭觉,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓荸频,卻偏偏與公主長得像菱肖,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子旭从,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 前言 在做vue中大型項(xiàng)目的時(shí)候渠缕,官方推薦使用axios,但是原生的axios可能對(duì)項(xiàng)目的適配不友好褒繁,所以亦鳞,在工程...
- 文件目錄 request.js state.js http.js api.js 頁面寫法 http 請(qǐng)求 http...
- 之前做項(xiàng)目的時(shí)候經(jīng)常遇到個(gè)問題:相同url相同參數(shù)的接口燕差,短時(shí)間內(nèi)重復(fù)請(qǐng)求調(diào)用。產(chǎn)生的原因有多種:按鈕未做防抖/節(jié)...
- 整齊的api就像電路板一樣坝冕,即使再復(fù)雜也能很清晰整個(gè)線路徒探。上面說了,我們會(huì)新建一個(gè)api.js,然后在這個(gè)文件中存...
- 一喂窟、axios的封裝 在vue項(xiàng)目中测暗,和后臺(tái)交互獲取數(shù)據(jù)這塊,我們通常使用的是axios庫磨澡,它是基于promise...