request.js
//引入axios
import axios from 'axios'
//引入UI框架的全局信息提示组件
import {
message
} from 'antd'
//创建axios实例
const service = axios.create({
baseURL: 'api', // 接口的base_url
timeout: 9000 //请求超时时间
})
//请求拦截--请求接口前进行一些相关配置
service.interceptors.request.use(
config => {
//此处可以处理请求headers ,token ,url,请求方式等信息
return config
},
error => {
return Promise.reject(error)
}
)
//响应拦截--在响应之后对数据进行一些处理
service.interceptors.response.use(
response => {
const res = response.data
//这里根据返回的响应数据做一些异常判断处理,具体可以根据响应参数和业务需求来写
if (res.resultCode === '000') {
return res
}
message.error(res.message, 5)
return Promise.reject(res)
},
error => {
return Promise.reject(error)
}
)
export default service
api.js
//引入封装的request
import request from '@/utils/request'
//定义一个接口
export function loginApi(data){
return request({
url:'xxx',
method:'post',
headers:{'Content-Type':'application/x-www-form-urlencoded'},
data:data,
responseType:'arraybuffer' //请求数据流使用
})
}
组件中使用
//引入需要使用的接口
import {loginApi} from '@/api/api.js'
logoin(){
loginApi(params).then(res=>{
//成功调用处理
}).catch(res=>{
//失败调用处理
})
}