在src-utils文件夹下新建一个axios.js文件
在axios文件夹下添加一下代码:
import axios from 'axios';
import Qs from 'qs'
axios.defaults.withCredentials = false // false 不跨域 true 跨域
// axios.defaults.headers.common['token'] = localStorage.getItem('token'); // 设置请求头,这个不是必须的
export default function (url, params, method = 'get', type = 'json') {
let headers = {}
let path = '/api-a-bkf-/user-mucon' // 后端路由层地址
if (method === 'post') {
if (type === 'json') {
headers = {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/x-www-form-urlencodes;charset=UTF-8'
}
} else {
headers = {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/x-www-form-urlencodes;charset=UTF-8'
}
params = Qs.stringify(params)
}
}
// 当出现某些情况的时候设置请求拦截
axios.interceptors.response.use(response => {
// if (response.data.statusCode === 2009) { // 这里的状态码是根据后台设置的来
// Message.error({ message: '登录过期,请重新登录' })
// }
return response
}, error => {
// if (error.message.indexOf('timeout') >= 0) {
// Message.error({
// message: '请求超时,请稍后再试!'
// }) // 后台响应超时
// } else if (error.response === undefined) {
// Message.error({
// message: '服务中断,请稍后再试!'
// }) // 后台无响应
// }
return Promise.resolve(error.response)
})
// 发送请求
return new Promise((resolve, reject) => {
axios({
url: path + url,
method,
type,
data: params,
timeout: 6000,
headers: headers
}).then(result => {
resolve(result.data)
}).catch(err => {
reject(err)
})
})
}
在src下新建api文件,api文件夹下新建api.js,在里面调用axios方法:
import https from '@/utils/axios'
var url = process.env.NODE_ENV === 'development' ? '/api' : '/apis'
exprot const path = url + '/api-a-bkf-/user-mucon'
export const getAllCategorySubset= function(params) {
let url = "/category/getAllCategorySubset" //这个路由文件就是接口路径
return https(url, params, 'post');
}