request.tsx
2.13 KB
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
import axios from 'axios';
import {currentCorpCode, _baseUrl} from "@/utils/common"
// 创建axios实例
const service = axios.create({
baseURL: _baseUrl, // 你可以通过.env文件设置API的基础URL
timeout: 5000 // 请求超时时间
});
// 请求拦截器
service.interceptors.request.use(
config => {
// 在发送请求之前做些什么,例如设置请求头
// if (store.getters.token) {
// config.headers['X-Token'] = getToken();
// }
console.log('config---2', config)
return config;
},
error => {
// 对请求错误做些什么
console.error('请求拦截器错误:', error); // for debug
Promise.reject(error);
}
);
// 响应拦截器
service.interceptors.response.use(
response => {
/**
* 可以在这里对响应数据做点什么
*/
const res = response.data;
if (res?.success || res?.code === 200) {
return res.data;
} else {
// 如果后端有统一的错误码处理,可以在这里统一处理
console.error('接口错误:', res.message);
// 你可以抛出一个错误,或者返回一个错误对象
// throw new Error(res.message || 'Error');
return Promise.reject(new Error(res.message || 'Error'));
}
},
error => {
console.error('响应拦截器错误:', error);
// 对响应错误做点什么
return Promise.reject(error);
}
);
// 封装get请求
export function get(url: string, params = {}, customHeaders?: any, notCorpCode?: boolean) {
const _params = notCorpCode ? {
...params,
} : {
corpCode: currentCorpCode(),
...params,
}
return service.get(url, {params: _params, headers: customHeaders})
}
// 封装post请求
export function post(url: string, params = {}, data = {}, customHeaders?: any, notCorpCode?: boolean) {
const _params = notCorpCode ? {
...params,
} : {
corpCode: currentCorpCode(),
...params,
}
return service.post(url, data, {params: _params, headers: customHeaders})
}