Axios封装
import axios from 'axios'
import { Message } from 'element-ui';
import baseURL from '@/setting';
import router from '@/router';
// 创建 axios 实例
const axiosjs = axios.create({
baseURL: baseURL(),
headers: {
'Content-Type': 'application/json'
},
params: {},
data: {},
timeout: 30000000,
});
axiosjs.interceptors.request.use(config => {
console.log(config.url)
if (config.url != "/index/login") {
config.headers['token'] = localStorage.getItem('moonT')
}
// 请求发送前进行处理
return config
}, error => {
// 请求错误处理
return Promise.reject(error)
})
// 添加响应拦截器
axiosjs.interceptors.response.use(response => {
let { data } = response
console.log(data.code)
if (data.code != 0) {
if (data.code == 10001 || data.code == 10002 ||data.code == 10003) {//token过期
Message.error('登录过期,请重新登录');
setTimeout(()=>{
router.push({ path: '/login' })
},1000)
} else if (data.code == 2001) {
Message.error(data.msg);
}else {
Message.error(data.msg);
return data
}
} else {
return data
}
}, error => {
console.log(error)
let info = {}
// let { status, statusText, data } = error.response
if (!error.response) {
info = {
code: 5000,
msg: 'Network Error'
}
} else {
// 此处整理错误信息格式
// info = {
// code: status,
// data: data,
// msg: statusText
// }
}
// rewriteMessage .error(error.msg || '系统错误')
return Promise.reject(error)
})
export default axiosjs
Api的使用
import axios from './axiosjs'
const apiList = {
login(data) {
return axios.post('/index/login', data)//登录
},
ProgramList(data) {
return axios.post('/Program/list', data)//列表
},
}
export default apiList;