import axios from 'axios'
import store from '../store'
// const host = process.env.NODE_ENV === 'development' ? '/api' : 'http://10.192.36.147/vms/services/VmsSdkWebService?wsdl' // 根据 process.env.NODE_ENV 的值判断当前是什么环境
const http = axios.create({
baseURL: '/api',
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
timeout: 10000
}
})
http.interceptors.request.use(function (config) {
// 配置config
// config.headers.Accept = 'application/json, text/plain, */*'
return config
})
/**
* 拦截响应response,并做一些错误处理
*/
http.interceptors.response.use(
response => {
const data = response.data
if (data) {
switch (data.status) {
case '0':
// 处理相关业务
return data
case '0005':
data.message = ''
break
default:
}
return Promise.reject(response)
} else {
const err = new Error('未知错误,请重试')
err.data = data
err.response = response
throw err
}
},
err => {
console.info('err===original====', JSON.stringify(err))
switch (err.response.status) {
case 400:
err.message = '请求参数错误'
break
case 401:
err.message = '未授权,请登录'
break
case 403:
err.message = '跨域拒绝访问'
break
case 404:
err.message = `请求地址出错: ${err.response.config.url}`
break
case 408:
err.message = '请求超时'
break
case 500:
err.message = '服务器内部错误'
break
case 501:
err.message = '服务未实现'
break
case 502:
err.message = '网关错误'
break
default:
}
return Promise.reject(err)
})
// 返回一个Promise
export default function fetch (url, bizParam, type) {
let qs = require('qs')
let comParam = {
token: store.state.auth.tokenData.token
}
let param = qs.stringify(Object.assign({}, comParam, bizParam))
return new Promise((resolve, reject) => {
if (type === 'get') {
http.get(url, param)
.then(response => {
console.info('then', response)
resolve(response.data)
}, err => {
console.info('err', err)
resolve(err)
})
.catch((error) => {
console.info('error', error)
reject(error)
})
} else {
http.post(url, param)
.then(response => {
console.info('then', response.data)
resolve(response.data)
}, err => {
console.info('err', err)
resolve(err)
})
.catch((error) => {
console.log('error', error)
reject(error)
})
}
})
}
网友评论