直接上代码,复制在项目中的公共文件内,在需要的文件中直接引用,request()
import axios from 'axios'
//import { getToken } from './utils.js'
//import NProgress from 'nprogress' 这个是引入加载进度条
axios.defaults.baseURL = 'http://xxxxxxxxxx'
// 配置全局拦截
axios.interceptors.request.use((config) => {
// config.headers['Authorization'] = getToken()
// console.log(req)
NProgress.start()
return config
})
axios.interceptors.response.use((config) => {
// NProgress.done()
return config
})
// 声明通用的请求方法
async function request(options) {
if (!options.method) {
options.method = 'get'
}
if (options.method === 'get' || options.method === 'delete') {
options.params = options.data
}
try {
let { data: res } = await axios(options)
return res
} catch (error) {
console.log(error)
return { data: null, meta: { msg: error.message, status: 500 } }
}
}
export default request