// 引入axios import axios from 'axios' // 引入qs库转换参数格式 import qs from 'qs' // axios全局配置 axios.defaults.timeout = 1000 * 6 * 10 * 3; // 超时时间 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; // 配置请求头 // axios.defaults.baseURL = '/' // axios.defaults.baseURL = 'http://testtougao.tmrjournals.com/public/index.php/' // axios.defaults.baseURL = 'http://www.tougao.com/' // const service = axios.create({ // baseURL: 'http://testtougao.tmrjournals.com/public/index.php/', // baseURL: 'https://submission.tmrjournals.com/', //正式 记得切换 // baseURL: 'http://www.tougao.com/', //测试本地 记得切换 // baseURL: 'http://192.168.110.110/tougao/public/index.php/', // baseURL: '/api', //本地 baseURL: '/', //正式 }); const service_new = axios.create({ baseURL: 'http://journal.com/', // baseURL: '/', }); // 添加响应拦截器,统一处理服务器响应和异常 axios.interceptors.response.use( (response) => { // 请求正常则返回0 return Promise.resolve(response) }, (error) => { // 请求错误进行的处理可以写在这里 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}` } } return Promise.reject(error) } ) export default { /** * post方法,对应post请求 * @param {String} url [请求的url地址] * @param {Object} params [请求时携带的参数] */ post(url, params) { return new Promise((resolve, reject) => { service.post(url, qs.stringify(params)) .then(res => { resolve(res.data) }) .catch(err => { reject(err) }) }) }, /** * post方法,对应post请求 * @param {String} url [请求的url地址] * @param {Object} params [请求时携带的参数] */ postNew(url, params) { return new Promise((resolve, reject) => { service_new.post(url, qs.stringify(params)) .then(res => { resolve(res.data) }) .catch(err => { reject(err) }) }) }, /** * get方法,对应get请求 * @param {String} url [请求的url地址] * @param {Object} params [请求时携带的参数] */ get(url, params) { return new Promise((resolve, reject) => { axios.get(url, qs.stringify(params)) .then(res => { resolve(res.data) }) .catch(err => { reject(err) }) }) }, }