139 lines
3.2 KiB
JavaScript
139 lines
3.2 KiB
JavaScript
// 引入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)
|
||
})
|
||
})
|
||
},
|
||
}
|