zhangxiaoxu123456
2022-04-27 00a5d715d57b1cab9c464004c678b08fe54f0207
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
import axios from 'axios';
import store from "../store";
import { getStore, setStore } from './store'
import routers from '@/router/index'
import { MessageBox,Message}  from 'element-ui'
let base = process.env.NODE_ENV == 'development' ? '' : ''; // 基础url
 
axios.defaults.timeout = 30000;
 
axios.interceptors.request.use(config => {
  let token = store.getters.token
  if(token) {
    config.headers['token'] = token
  }
  return config
},error => {
  return Promise.reject(error)
})
 
axios.interceptors.response.use(config => {
  // console.log(config,'config---config')
  const status = Number(config.status)
  const message = config.data.error
  if( status !== 200) {
    Message.error(message)
    return  Promise.reject(new Error(message))
  }
  return config
},(error) => {
  // console.log(error,'error')
  const { status, data } = error.response
  const { error : message } = data
  if(status === 503) {
    Message.error(message)
  }
  return Promise.reject(error)
})
 
export const getRequest = (url, params = {}) => {
    return axios({
        method: 'get',
        url: `${base}${url}`,
        params: params,
        // headers: {
        //   'accessToken': accessToken
        // }
    }).then(function (response) {
        return new Promise(function (resolve, reject) {
            resolve(response.data)
        });
    });
};
 
export const postRequest = (url, params = {}) => {
    return axios({
        method: 'post',
        url: `${base}${url}`,
        data: params,
        transformRequest: [function (data) {
            let ret = '';
            for (let it in data) {
                ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&';
            }
            ret = ret.substring(0, ret.length - 1);
            return ret;
        }],
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded',
        }
    }).then(function (response) {
        return new Promise(function (resolve, reject) {
            resolve(response.data)
        });
    });
};