//引入axios import axios from 'axios' import qs from 'qs' import store from '@/store' import router from '@/router' axios.defaults.baseURL = store.state.app.serverName //设置默认请求头 axios.defaults.headers = { 'Content-Type': 'application/x-www-form-urlencoded', } axios.defaults.timeout = 600000 //请求拦截器 axios.interceptors.request.use(config => { //console.log(config.url) var bool1 = config.url.indexOf("import") var bool2 = config.url.indexOf("upload") var bool3 = config.url.indexOf("export") config.headers.token = localStorage.getItem('token') config.headers.userId = localStorage.getItem('userId') if(localStorage.getItem('belongId')){ config.headers.belongId = localStorage.getItem('belongId') }else { config.headers.belongId = '0' } // if (config.url.indexOf("login")<0) { // config.headers.belongId = localStorage.getItem('belongId') // console.log("config.headers.belongId:"+JSON.stringify(belongId)) // } if (bool1 > 0 || bool2 > 0) { return config } else { config.data = qs.stringify(config.data); return config } }, error => { return Promise.reject(error) }) //响应拦截器即异常处理 axios.interceptors.response.use(response => { //console.log("response.data.code"+response.data.code) switch (response.data.code) { case 101: router.replace({ path: '/login', }) break; default: return response break; } // if (response.data.code == 101) { // router.replace({ // path: '/login', // }) // } else { // return response // } }, err => { if (err && err.response) { switch (err.response.status) { case 400: err.message = '错误请求' break; case 401: err.message = '未授权,请重新登录' break; case 403: err.message = '拒绝访问' break; case 404: err.message = '请求错误,未找到该资源' break; case 405: err.message = '请求方法未允许' break; case 408: err.message = '请求超时' break; case 500: err.message = '服务器端出错' break; case 501: err.message = '网络未实现' break; case 502: err.message = '网络错误' break; case 503: err.message = '服务不可用' break; case 504: err.message = '网络超时' break; case 505: err.message = 'http版本不支持该请求' break; default: err.message = `连接错误${err.response.status}` } } else { err.message = "连接到服务器失败" } message.err(err.message) return Promise.resolve(err.response) }) export default { //get请求 get(url, param) { return new Promise((resolve, reject) => { axios({ method: 'get', url, params: param }).then(response => { resolve(response) }).catch(error => { reject(error) }) }) }, //post请求 post(url, param) { return new Promise((resolve, reject) => { axios({ method: 'post', url, data: param, }).then(response => { resolve(response) }).catch(error => { reject(error) }) }) } };