123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- import axios from 'axios'
- import { Message } from 'element-ui';
- import Router from '../router'
- /**
- * 使用自定义配置新建一个 axios 实例
- * baseURL = 请求路径
- * timeout = 请求超时配置
- */
- const request = axios.create({
- // baseURL: process.env.BASE_API,
- baseURL: 'http://81.70.84.72:30047/',
- // baseURL: 'http://39.100.230.190:30047/',
-
- // baseURL: 'http://blue.cn1.utools.club/api3/',
- timeout: process.env.TIME_OUT,
- method: "post",
- type: "JSON"
- })
- // let toast = null
- /**
- * request拦截器
- * 可以在这里添加 Header 头部信息,等
- */
- request.interceptors.request.use(config => {
- // 显示加载
- // Spin.show()
- // 获取accessToken
- // 添加请求头信息,处理安全性问题
- let accessToken = "1111111"
- if (accessToken !== undefined) {
- config.headers.Authorization = accessToken
- } else {
- config.headers.Authorization = 'Basic dnVlOnZ1ZQ=='
- }
- // 添加时间戳防止IE不刷新页面
- if (config.type != 'FORM') {
- if (config.method == 'post') {
- config.data = {
- ...config.data
- }
- }
- else if (config.method == 'get') {
- // config.params = {
- // ...config.params,
- // // _t: Date.parse(new Date()) / 1000
- // }
- // config.params = params
- }
- } else {
- let formData = ''
- Object.keys(config.data).forEach((key) => {
- formData += key + '=' + config.data[key] + '&'
- })
- config.data = formData
- config.headers['Accept'] = 'application/json'
- config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
- }
- return config
- }, error => {
- // 处理请求错误
- Promise.reject(error)
- })
- /**
- * 下面的注释为通过response自定义code来标示请求状态,当coBASE_APIde返回如下情况为权限有问题,登出并返回到登录页
- * 如通过xmlhttprequest 状态码标识 逻辑可写在下面error中
- */
- // 响应拦截器
- request.interceptors.response.use(
- response => {
- // 隐藏加载
- // Spin.hide()
- // 请求成功处理
- // if (response.data.status === 50000) {
- // Message.error('凭证过期,请重新登录')
- // Router.push('/')
- // }
- console.log(response);
- return response.data
- },
- error => {
- // 隐藏加载
- // Spin.hide()
- // 处理请求错误
- const response = error.response
- if (response != undefined && response.data) {
- // if (response.data.status == '401' && response.status == 401) {
- // Message.error('凭证过期,请重新登录')
- // // Router.push('/')
- // } else if (response.status == 500) {
- // Message.error(response.data.message)
- // } else if (response.status != 200) {
- // Message.error(response.data.message)
- // }
- return response.data
- } else if (response) {
- switch (response.status) {
- case 400:
- Message.error('错误的请求')
- break
- case 401:
- Message.error('凭证过期,请重新登录')
- break
- case 403:
- Message.error('拒绝访问')
- break
- case 404:
- Message.error('请求错误,未找到该资源')
- break
- case 405:
- Message.error('请求方法未允许')
- break
- case 408:
- Message.error('请求超时')
- break
- case 500:
- Message.error('服务器端出错')
- break
- case 501:
- Message.error('网络错误,请检查网络')
- break
- case 502:
- Message.error('网络错误,请检查网络')
- break
- case 503:
- Message.error('服务不可用')
- break
- case 504:
- Message.error('网络请求超时')
- break
- case 505:
- Message.error('http版本不支持该请求')
- break
- default:
- Message.error(`连接错误${error.response.status}`)
- }
- } else {
- Message.error(error.message)
- }
- // 弹出层
- return Promise.reject(error)
- }
- )
- export default request
|