Axios 统一封装 异常处理

 1  var instance = axios.create({
 2         withCredentials: true,
 3         headers: {
 4             'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
 5             'userid': userId,
 6             'corpid': corpId,
 7         },
 8     });
 9     instance.interceptors.request.use(function (config) {
10         console.log('请求前显示loading');
11         common.Loading();
12         return config;
13     });
14     instance.interceptors.response.use(function (data) {
15         console.log('请求后隐藏loading');
16         common.HideLoading();
17         return data;
18     }, function (err) {
19 
20         common.HideLoading();
21         if (err.response.headers.errcode) {
22             if (err.response.headers.errcode > 1000) {
23                 var msg = decodeURIComponent(err.response.headers.errmsg);
24                 common.Toast(msg);
25             } else {
26                 //console.log('内部服务器错误')
27                 common.Toast('系统繁忙请稍候再试!');
28                 console.log(err);
29             }
30 
31         } else {
32             //console.log('内部服务器错误')
33             common.Toast('系统繁忙请稍候再试!');
34             console.log(err);
35         }
36         return Promise.resolve(err);
37         });
38 
39     var http = {
40         //Get请求
41         Get: function (url, data, showloading = true) {
42             return instance.get(url, { params: data });
43         },
44         //Post请求
45         Post: function (url, data, showloading = true) {
46             return instance.post(url, Qs.stringify(data));
47 
48         },
49         //上传文件
50         PostFile: function (url, formData) {
51             var instance = axios.create({
52                 timeout: '10000',
53                 headers: { 'userid': userId, "corpid": corpId, 'Content-Type': 'multipart/form-data' }
54             });
55             return instance.post(url, formData);
56         },
57         //页面跳转自动添加参数
58         Go: function (url, data) {
59             var params = Qs.stringify({ applyid: applyId, userid: userId, corpid: corpId }) + '&' + Qs.stringify(data);
60             console.log(params);
61             window.location.href = url + '?' + params;
62         }
63     }

如何使用代码:

 

 1 function  getApplyInfo() {
 2                 console.log('获取申请信息');
 3 
 4                 var that = this;
 5 
 6                 that.http.Get(apiUrl, { name:value}).then(function (res) {
 7 
 8                    //您的业务代码
 9 
10                 });
11 
12             },

 

posted @ 2019-10-23 11:06  崔国亮  阅读(920)  评论(0)    收藏  举报