btn
Version:
A Vue.js project
47 lines (44 loc) • 1.26 kB
JavaScript
import { Dialog } from 'vant';
import Vue from 'vue'
Vue.use(Dialog);
import axios from 'axios'
import { getToken } from '@/utils/auth'
// 创建axios实例,如果接口用formdata,需要重新creat一个纯净的axios请求,不可使用拦截器
const service = axios.create({
// baseURL:'http://10.180.3.127:9999',
timeout: 15000 // 请求超时时间
// headers: {
// "Content-Type": "application/x-www-form-urlencoded"
// },
});
// request拦截器
service.interceptors.request.use(config => {
if (getToken()) {
config.headers={'Authorization':'Bearer '+getToken()}// 让每个请求携带自定义token 请根据实际情况自行修改
}
return config
}, error => {
// Do something with request error
console.log('request: ', error) // for debug
Promise.reject(error)
});
service.interceptors.response.use(
response => {
/**
* code为非20000是抛错 可结合自己业务进行修改
*/
const res = response;
if(res.status!=200){
Dialog.alert({
title: '请求失败',
message: res
});
console.log(res);
return Promise.reject('error')
}
else{
return response;
}
}
)
export default service