quanwei
2025-11-03 ef5d748e3e3331bd20d4065c33e7867c2637d1db
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
import axios from 'axios';
import qs from 'qs';
import {
  Message,
  Loading
} from 'element-ui'
import router from '@/router';
import { delCookie } from '@/utils/base.js';
 
//axios.defaults.timeout = 5000;                        //响应时间
axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; //配置请求头
 
axios.defaults.baseURL = '/index.php';   //配置接口地址
 
axios.defaults.withCredentials = true;
axios.defaults.responseType = 'json';
 
//POST传参序列化(添加请求拦截器)
axios.interceptors.request.use((config) => {
  //在发送请求之前做某件事
  if (config.method === 'post') {
    config.data = qs.stringify(config.data);
  }
  return config;
}, (error) => {
  console.log('错误的传参')
  return Promise.reject(error);
});
 
//返回状态判断(添加响应拦截器)
axios.interceptors.response.use((res) => {
  //未登陆
  if (res.data.code !== 1) {
    console.log('未登录状态')
    if(res.data.code===0){
      Message({
        showClose: true,
        message: res.data.msg,
        type: "error"
      });
      return Promise.reject(res.data);
    }else{
      delCookie('isLogin');
      router.push({
          path: '/login',
          query: {
          }
      })
    }
  }else{
    return res.data;
  }
}, (error) => {
  Message({
    showClose: true,
    message: '接口请求异常,请稍后再试~',
    type: "error"
  });
  return Promise.reject(error);
});
 
 
let dddUrl = '/ddd'
if (process.env.NODE_ENV === 'development') {//这个是开发环境下
 
} else if (process.env.NODE_ENV === 'production') {//这个是生产环境下
   dddUrl=process.env.APP_BASE_DDD_API;
}
 
const dddAPI = axios.create({
    baseURL: dddUrl,
    withCredentials:false,
    responseType:'json',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
    }
})
 
 
/**
 * 返回一个Promise(发送post请求)
 * errorback是否错误回调
 */
export function _post(url, params, errorback) {
  return new Promise((resolve, reject) => {
    axios.post(url, params)
      .then(response => {
        resolve(response);
      })
      .catch((error) => {
        errorback && reject(error);
      })
  })
}
 
/**
 * 返回一个Promise(发送get请求)
 * errorback是否错误回调
 */
export function _get(url, param, errorback) {
  return new Promise((resolve, reject) => {
    axios.get(url, {
        params: param
      })
      .then(response => {
        resolve(response)
      })
      .catch((error) => {
        errorback && reject(error);
      })
  })
}
 
/**
 * 返回一个Promise(发送post请求)
 * errorback是否错误回调
 */
export function _post_ddd(url, params, errorback) {
 
  params = qs.stringify(params);
  return new Promise((resolve, reject) => {
    dddAPI.post(url, params)
      .then(response => {
        resolve(response.data);
      })
      .catch((error) => {
        errorback && reject(error);
      })
  })
}
 
/**
 * 返回一个Promise(发送get请求)
 * errorback是否错误回调
 */
export function _get_ddd(url, param, errorback) {
  return new Promise((resolve, reject) => {
    dddAPI.get(url, {
        params: param
      })
      .then(response => {
        resolve(response.data)
      })
      .catch((error) => {
        errorback && reject(error);
      })
  })
}
 
export default {
  _post,
  _get,
  _post_ddd,
  _get_ddd
}