From a73b955f0486b541ce9be1c709ddd27a1ce7480e Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Mon, 4 Mar 2024 15:30:20 +0800 Subject: [PATCH] 20240304 --- .gitignore | 3 - src/api/index.js | 134 +++++++++++++++++++++++++++++++ src/components/common/common.vue | 19 +++++ 3 files changed, 153 insertions(+), 3 deletions(-) create mode 100644 src/api/index.js create mode 100644 src/components/common/common.vue diff --git a/.gitignore b/.gitignore index 168db20..00ed383 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,3 @@ yarn-error.log* *.sw* node_modules /package-lock.json -/src/api/index.js -/src/components/common/common.vue -/vue.config.js diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 0000000..a4c8e9f --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,134 @@ +// 引入axios +import axios from 'axios' +// 引入qs库转换参数格式 +import qs from 'qs' + + +// axios全局配置 +axios.defaults.timeout = 10000; // 超时时间 +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: 'http://www.tougao.com/', + // 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) + }) + }) + }, +} diff --git a/src/components/common/common.vue b/src/components/common/common.vue new file mode 100644 index 0000000..188fe2f --- /dev/null +++ b/src/components/common/common.vue @@ -0,0 +1,19 @@ +