suerprisePlus
2024-05-30 7452857e6eb0d23dbd71a29f25985ada5208f25d
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
import axios from 'axios';
import { showToast } from 'vant';
import store from '../store/store';
// Token请求接口
// 创建axios实例
const token = config.token;
const result = axios.create({
  baseURL: config.tokenApi, // api的base_url
  timeout: -1, // 请求超时时间
  headers: { 'Content-Type': 'application/json;charset=utf-8' }
});
 
// 请求拦截器
result.interceptors.request.use(
  config => {
    // 可以在这里添加请求头等信息
    config.headers['token'] = token;
    return config;
  },
  error => {
    // 请求错误处理
    console.log(error); // for debug
    Promise.reject(error);
  }
);
 
// 响应拦截器
result.interceptors.response.use(
  response => {
    // 对响应数据做处理,例如只返回data部分
    const res = response.data;
    // 根据返回的状态码做相应处理,例如401未授权等
    return res;
  },
  error => {
    // 响应错误处理
    console.log('err' + error); // for debug
    store.state.setLoadFlag = false;
 
    showToast({ message: error.message, wordBreak: 'break-all' });
    return Promise.reject(error);
  }
);
 
export default result;