血透系统pad前端

request.js 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import axios from 'axios'
  2. import { Toast } from 'mint-ui'
  3. // create an axios instance
  4. const service = axios.create({
  5. baseURL: process.env.BASE_API, // api的base_url
  6. timeout: 30000, // request timeout
  7. withCredentials: true,
  8. })
  9. // respone interceptor
  10. service.interceptors.response.use(
  11. // response => response,
  12. response => {
  13. const res = response.data
  14. if (res.state !== 1) {
  15. if (res.code === 6002) {
  16. // MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
  17. // confirmButtonText: '重新登录',
  18. // cancelButtonText: '取消',
  19. // type: 'warning'
  20. // }).then(() => {
  21. // store.dispatch('FrontendLogout').then(() => {
  22. // location.reload() // 为了重新实例化vue-router对象 避免bug
  23. // })
  24. // })
  25. location.reload()
  26. return Promise.reject('error')
  27. } else {
  28. return response
  29. }
  30. } else {
  31. return response
  32. }
  33. },
  34. error => {
  35. if(error.message.includes('timeout')){ // 判断请求异常信息中是否含有超时timeout字符串
  36. return Promise.reject(error); // reject这个错误信息
  37. }
  38. return Promise.reject(error);
  39. })
  40. export default service