vue axios封裝,全局錯(cuò)誤處理顷锰,使用ant-design-vue的message和model提示

在http.js文件中

/**axios封裝

* 請(qǐng)求攔截柬赐、相應(yīng)攔截、錯(cuò)誤統(tǒng)一處理

*/

import axios from 'axios';

import QS from 'qs';

import {getCookie}from './util'

import {message, Modal }from 'ant-design-vue'

// message的基礎(chǔ)配置

message.config({

duration:2,// 提示時(shí)常單位為s

? top:'200px',// 距離頂部的位置

? maxCount:3 // 最多顯示提示信息條數(shù)(后面的會(huì)替換前面的提示)

})

// 請(qǐng)求超時(shí)時(shí)間

axios.defaults.timeout = 10000;

axios.defaults.headers.common['Authorization'] =?getCookie(token);

// post請(qǐng)求頭

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';

// 請(qǐng)求攔截器

axios.interceptors.request.use(? ?

? ? config => {

? ? ? ? return config;? ?

? ? },? ?

? ? error => {? ? ? ?

? ? ? ? return Promise.error(error);? ?

? ? })

// 響應(yīng)攔截器

axios.interceptors.response.use(? ?

? ? response => {? ? ? ?

? ? ? ? if (response.status === 200) {? ? ? ? ? ?

? ? ? ? ? ? return Promise.resolve(response);? ? ? ?

? ? ? ? } else {? ? ? ? ? ?

? ? ? ? ? ? return Promise.reject(response);? ? ? ?

? ? ? ? }? ?

? ? },

? ? // 服務(wù)器狀態(tài)碼不是200的情況? ?

? ? error => {? ? ? ?

? ? ? ? if (error.response.status) {? //服務(wù)器狀態(tài)碼的異常

? ? ? ? ? ? switch (error.response.status) {?

? ? ? ? ? ? ?// 403 token過期

?????????????????case 403:? ? ??

????????????????????????message.error('登錄過期官紫,請(qǐng)重新登錄') ;

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? // 404請(qǐng)求不存在? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? case 404:? ? ??

?????????????????????message.error('網(wǎng)絡(luò)請(qǐng)求不存在');

? ? ? ? ? ? ? ? break;? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? // 其他錯(cuò)誤肛宋,直接拋出錯(cuò)誤提示? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? default:??

?????????????????????message.error(error.response.data.errMsg) ;

? ? ? ? ? ? }? ? ? ? ? ?

? ? ? ? ? ? return Promise.reject(error.response);? ? ? ?

? ? ? ? }? ? ?

? ? }

);

/**

* get方法,對(duì)應(yīng)get請(qǐng)求

* @param {String} url [請(qǐng)求的url地址]

* @param {Object} params [請(qǐng)求時(shí)攜帶的參數(shù)]

*/


export function get(url, params){? ?

? ? return new Promise((resolve, reject) =>{? ? ? ?

? ? ? ? axios.get(url, {? ? ? ? ? ?

? ? ? ? ? ? params: params? ? ? ?

? ? ? ? })? ? ? ?

? ? ? ? .then(res => {? ? ? ? ? ?

????????????????if(response.data.code ==401 || response.data.code ==10003){? //業(yè)務(wù)代碼中的異常

????????????????????message.error(response.data.errorMsg);

????????????????????setTimeout(function () {

????????????????????????????window.location.href='./login'? //error

? ????????????????????},3000)

????????????????}

? ? ? ? ? ? resolve(res.data);? ? ? ?

? ? ? ? })? ? ? ?

? ? ? ? .catch(err => {? ? ? ? ? ?

? ? ? ? ? ? reject(err.data)? ? ? ?

? ? ? ? })? ?

? ? });

}


message的提示框束世,如圖酝陈,沒有遮罩層,只有提示語(yǔ)!? 我選的error 的icon毁涉,另外還有success沉帮,warnimg和 info? ,圖標(biāo)各不相同!

?this.$message.success('This is a success message');

?this.$message.error('This is an error message');

?this.$message.warning('This is a warning message');

?this.$message.info('This is a normal message');


/**

* post方法遇西,對(duì)應(yīng)post請(qǐng)求

* @param {String} url [請(qǐng)求的url地址]

* @param {Object} params [請(qǐng)求時(shí)攜帶的參數(shù)]

*/

export function post(url, params) {? ?

? ? return new Promise((resolve, reject) => {? ? ? ?

? ? ? ? axios.post(url, QS.stringify(params))? ? ? ?

? ? ? ? .then(res => {

????????????????if(response.data.code ==401? ||? response.data.code ==10003){

????????????????????????Modal.warning({

????????????????????????????title:response.data.errorMsg,

????????????????????????????okText:'確認(rèn)',// 設(shè)置按鈕內(nèi)容馅精,默認(rèn)為 OK

? ? ? ? ? ? ? ? ? ? ? ? ? ? onOk: () => {// 點(diǎn)擊確認(rèn)后的回調(diào)

? ????????????????????????????? window.location.href='./login' //error

? ? ? ? ? ? ? ? ? ? ? ? ? ? }

????????????????????????})

????????????????}

? ? ? ? ? ? resolve(res.data);? ? ? ?

? ? ? ? })? ? ? ?

? ? ? ? .catch(err => {? ? ? ? ? ?

? ? ? ? ? ? reject(err.data)? ? ? ?

? ? ? ? })? ?

? ? });

}


model 提示框,有遮罩層粱檀,有確定按鈕洲敢,也可以有取消按鈕。icon也有?success??error? ?warning??info 幾種情況

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末茄蚯,一起剝皮案震驚了整個(gè)濱河市压彭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌渗常,老刑警劉巖壮不,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異皱碘,居然都是意外死亡询一,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門癌椿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來健蕊,“玉大人,你說我怎么就攤上這事踢俄∷豕Γ” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵都办,是天一觀的道長(zhǎng)嫡锌。 經(jīng)常有香客問我,道長(zhǎng)琳钉,這世上最難降的妖魔是什么势木? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮歌懒,結(jié)果婚禮上跟压,老公的妹妹穿的比我還像新娘。我一直安慰自己歼培,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布茸塞。 她就那樣靜靜地躺著躲庄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪钾虐。 梳的紋絲不亂的頭發(fā)上噪窘,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音效扫,去河邊找鬼倔监。 笑死直砂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的浩习。 我是一名探鬼主播静暂,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼谱秽!你這毒婦竟也來了洽蛀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤疟赊,失蹤者是張志新(化名)和其女友劉穎郊供,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體近哟,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡驮审,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吉执。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疯淫。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鼠证,靈堂內(nèi)的尸體忽然破棺而出峡竣,到底是詐尸還是另有隱情,我是刑警寧澤量九,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布适掰,位于F島的核電站,受9級(jí)特大地震影響荠列,放射性物質(zhì)發(fā)生泄漏类浪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一肌似、第九天 我趴在偏房一處隱蔽的房頂上張望费就。 院中可真熱鬧,春花似錦川队、人聲如沸力细。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)眠蚂。三九已至,卻和暖如春斗躏,著一層夾襖步出監(jiān)牢的瞬間逝慧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留笛臣,地道東北人云稚。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像沈堡,于是被迫代替她去往敵國(guó)和親静陈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容