import axios from 'axios'
import {Toast} from 'vant'
//创建axios实例
const axiosObj = axios.create({
baseURL: 'http://api.web1024.cn',
timeout: 8000,
params: {
key: 'gxn759'
}
})
let toast
//请求拦截
axiosObj.interceptors.request.use(config=>{
// console.log('正在请求...')
toast = Toast({
type: 'loading',
message: '吐血加载中',
duration: 0
})
return config
},err=>{
return Promise.reject(err)
})
//响应拦截
axiosObj.interceptors.response.use(res=>{
// console.log('请求完成...')
toast.clear()
return res
},err=>{
return Promise.reject(err)
})
/**
* 用于发送请求的通用方法
* @param {*} options 配置信息,method请求方法,params参数,path路由
* @returns
*/
async function http({method = 'get',params,path}){
let result
if(method === 'get' || method === 'delete'){
await axiosObj[method](path,{
params
}).then(res=>{
result = res.data
}).catch(err=>{
result = err
})
}else if(method === 'post' || method === 'put' || method === 'patch'){
await axiosObj[method](path,params).then(res=>{
result = res.data
}).catch(err=>{
result = err
})
}
return result
}
export default http
结合vant组件库对封装的axios进行优化
最新推荐文章于 2024-05-15 01:39:05 发布