jinlin
2023-11-07 e9d51762bf342f3f9b542ef0214ed41a6ff7d679
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import axios from 'axios';
import qs from 'qs';
import { Message } from 'element-ui';
 
axios.defaults.timeout = 5000;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
axios.defaults.baseURL = '';
 
//post传参序列化
axios.interceptors.request.use((config) => {
    //在发送请求时做某件事
    if(config.method === 'post' || config.method === 'delete' || config.method === 'put'){
        config.data = qs.stringify(config.data);
    }
    return config;
},(error) => {
    console.log('错误的参数');
    return Promise.reject(error);
});
 
 
//返回状态判断(添加响应拦截器)
axios.interceptors.response.use((res) => {
    //对相应数据做些事
    if(!res.data.success){
        return Promise.resolve(res);
    }
    return res;
},(error) => {
    //根据返回的状态码来获取相应的提示
    if(error.response.status){
        switch (error.response.status) {
          case 400:
                Message.error('请求出错')
                break;
          case 10021:
            Message.warning({
              message: 'token失效,请重新登录'
            })
              break;
            case 401:
                Message.warning({
                    message: '授权失败,请重新登录'
                })
                break;
            case 403:
                Message.warning({
                    message: '拒绝访问'
                })
                break;
            case 404:
                Message.warning({
                    message:'请求错误,未找到该资源'
                })
                break;
            case 500:
                Message.warning({
                    message: '服务端错误'
                })
                break;
            default:
                Message.warning({
                    message:error.response.data.msg,
                })
        }
    }
    return Promise.reject(error);
});
 
//返回一个Promise(发送post请求)
export function  post(url,params){
    return new Promise((resolve,reject) => {
        axios.post(url,params)
        .then(response => {
            resolve(response);
        },error => {
            reject(error);
        })
        .catch((error) => {
            reject(error);
        })
    })
}
 
//返回一个Promise(发送get请求)
export function get(url,params){
    return new Promise((resolve,reject) => {
        axios.get(url,{params:params})
        .then(response => {
            resolve(response);
        },error => {
            reject(error);
        }).catch((error) => {
            reject(error);
        })
    })
}
 
 
//返回一个Promise(发送delete请求)
export function  del(url,params){
    return new Promise((resolve,reject) => {
        axios.delete(url,params)
            .then(response => {
                resolve(response);
            },error => {
                reject(error);
            })
            .catch((error) => {
                reject(error);
            })
    })
}
 
//返回一个Promise(发送put请求)
export function  put(url,params){
    return new Promise((resolve,reject) => {
        axios.put(url,params)
            .then(response => {
                resolve(response);
            },error => {
                reject(error);
            })
            .catch((error) => {
                reject(error);
            })
    })
}