From ca985273e23da42483c33fbf7b22aa4fb569e0a8 Mon Sep 17 00:00:00 2001 From: liuqimichale <123456lq> Date: Thu, 14 Mar 2019 16:48:52 +0800 Subject: [PATCH] axios --- package-lock.json | 17 +++++++++++------ package.json | 1 + src/utils/request.js | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 6 deletions(-) create mode 100644 src/utils/request.js diff --git a/package-lock.json b/package-lock.json index 02594d7..2492cfe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -526,6 +526,15 @@ "integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8=", "dev": true }, + "axios": { + "version": "0.18.0", + "resolved": "http://registry.npm.taobao.org/axios/download/axios-0.18.0.tgz", + "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", + "requires": { + "follow-redirects": "^1.3.0", + "is-buffer": "^1.1.5" + } + }, "babel-code-frame": { "version": "6.26.0", "resolved": "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz", @@ -4187,7 +4196,6 @@ "version": "1.7.0", "resolved": "http://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.7.0.tgz", "integrity": "sha1-SJ68GY3A5/ZBZ70jsDxMGbV4THY=", - "dev": true, "requires": { "debug": "^3.2.6" }, @@ -4196,7 +4204,6 @@ "version": "3.2.6", "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz", "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -4204,8 +4211,7 @@ "ms": { "version": "2.1.1", "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", - "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", - "dev": true + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=" } } }, @@ -5775,8 +5781,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", - "dev": true + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" }, "is-callable": { "version": "1.1.4", diff --git a/package.json b/package.json index 24c2ad9..7b1bd1d 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "build": "node build/build.js" }, "dependencies": { + "axios": "^0.18.0", "echarts": "^4.1.0", "vue": "^2.5.2" }, diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..3caa2ed --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,104 @@ +//引入axios +import axios from 'axios' +//import qs from 'qs' +let cancel +const CancelToken = axios.CancelToken; +//请求拦截器 // 在发送请求之前做些什么 +axios.interceptors.request.use(config => { + //发起请求时,取消掉当前正在进行的相同请求 + config.headers['x-auth-token'] = '18de1300-c3f2-4365-9f51-62f77614f8c5' + //config.headers['x-auth-token'] = '6840160c-7c45-42c4-8736-805f13487565' //测试地址 + config.data = { + ...config.data, + sysCode: '1001' + } + // config.data = qs.stringify(config.data); + return config +}, error => { + return Promise.reject(error) +}) + + +//响应拦截器即异常处理,对响应数据做点什么 +axios.interceptors.response.use(response => { + return response +}, err => { + err.messages=''; + if (err && err.response) { + switch (err.response.status) { + case 400: + err.messages = '错误请求' + break; + case 401: + err.messages = '未授权,请重新登录' + break; + case 403: + err.messages = '拒绝访问' + break; + case 404: + err.messages = '请求错误,未找到该资源' + break; + case 405: + err.messages = '请求方法未允许' + break; + case 408: + err.messages = '请求超时' + break; + case 500: + err.messages = '服务器端出错' + break; + case 501: + err.messages = '网络未实现' + break; + case 502: + err.messages = '网络错误' + break; + case 503: + err.messages = '服务不可用' + break; + case 504: + err.messages = '网络超时' + break; + case 505: + err.messages = 'http版本不支持该请求' + break; + default: + err.messages = `连接错误${err.response.status}` + } + } else { + err.messages = "连接到服务器失败"; + } + //message.err(err.message) + //return Promise.reject(err.response) + return Promise.resolve(err) +}) +//基础url前缀 +//axios.defaults.baseURL = '/api' + +axios.defaults.baseURL = 'http://bcp.service.renniting.cn/'; +//axios.defaults.baseURL = 'http://test.renniting.cn/bcp/';//测试地址 +//设置默认请求头 +// axios.defaults.withCredentials=true;//让ajax携带cookie + +// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; +axios.defaults.timeout = 10000 + + +function post(url, params) { + return new Promise((resolve,reject) => { + axios({ + method: 'post', + url, + data: params, + cancelToken: new CancelToken(c => { + cancel = c + }) + }).then(res => { + resolve(res) + }) + }) +} + + +export {post} + -- libgit2 0.21.4