import axios from 'axios' const TIME_OUT_MS = 60 * 1000 // 默认请求超时时间 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded' // // 请求拦截器 // axios.interceptors.request.use(function (config) { // console.log('正确拦截') // console.log(config) // return config // }, function (error) { // console.log('错误拦截') // return Promise.reject(error) // }) // // 响应拦截器 // axios.interceptors.response.use(function (response) { // return response // }, function (error) { // return Promise.reject(error) // }) /* * @param response 返回数据列表 */ function handleResults (response) { let remoteResponse = response.data var result = { success: false, message: '', status: [], errorCode: '', data: { total: 0, results: [] } } if (remoteResponse.success) { result.data.results = remoteResponse.data result.data.total = remoteResponse.total result.success = true } if (!remoteResponse.success) { let code = remoteResponse.errorCode if (code === 400) { console.log('传参错误') } result.errorCode = remoteResponse.errorCode result.message = remoteResponse.message } return result } function handleUrl (url) { //url = 'http://crowd.mooctest.net' + url return url } /* * @param data 参数列表 * @return */ function handleParams (data) { return JSON.parse(JSON.stringify(data)) } export default { post (url, data) { return new Promise((resolve, reject) => { axios.post(url, handleParams(data)).then( (result) => { resolve(result) } ).catch( (error) => { reject(error.response) } ) }) }, get (url) { return new Promise((resolve, reject) => { axios.get(handleUrl(url)) .then(response => { resolve(response.data) }).catch(error => { reject(error.response) }) }) }, put (url, data) { return new Promise((resolve, reject) => { axios.put(url, JSON.parse(JSON.stringify(data))).then( (result) => { resolve(result) } ).catch( (error) => { reject(error) } ) }) }, delete (url, data) { return new Promise((resolve, reject) => { axios.delete(url, {data: handleParams(data)}).then( (result) => { resolve(result) } ).catch( (error) => { reject(error) } ) }) }, upload (url, data, config) { return new Promise((resolve, reject) => { axios.post(url, data, config).then( (result) => { resolve(result) } ).catch( (error) => { reject(error) } ) }) }, }