request.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import axios from 'axios'
  2. import { Message, MessageBox } from 'element-ui'
  3. import { getToken } from '@/utils/auth'
  4. let prodBaseURL = 'https://xiaoyou.dgtis.com/admin';//正式地址
  5. // let prodBaseURL = 'http://47.103.79.143:9085/admin';//阿里云地址
  6. let devBaseURL = 'http://192.168.100.208:9083/admin';//测试地址
  7. // let devBaseURL = 'http://47.103.79.143:9085/admin';//阿里云地址
  8. // create an axios instance
  9. const service = axios.create({
  10. baseURL: process.env.NODE_ENV === 'production' ? prodBaseURL : devBaseURL,// api 的 base_url
  11. timeout: 10000 // request timeout
  12. })
  13. // request interceptor
  14. service.interceptors.request.use(config => {
  15. // Do something before request is sent
  16. if (getToken()) {
  17. config.headers['Authorization'] = getToken() // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
  18. }
  19. return config
  20. }, error => {
  21. // Do something with request error
  22. console.log(error) // for debug
  23. Promise.reject(error)
  24. })
  25. // respone interceptor
  26. service.interceptors.response.use(
  27. response => {
  28. const res = response.data
  29. let errmsg = res.errmsg;
  30. if (res.errno !== 0) {
  31. if(res.errno==503){
  32. MessageBox.alert('超时自动退出系统,请重新登录', '已退出', {
  33. confirmButtonText: '重新登录',
  34. type: 'error'
  35. }).then(() => {
  36. const prodHref = 'http://dgt.dgtis.com/oneportal/login';//正式地址
  37. // const prodHref = 'http://dgtcloud.dgtis.com/oneportal/login';//阿里云地址
  38. const devHref = 'http://192.168.100.208:8080/oneportal/login'; //测试地址
  39. location.href = process.env.NODE_ENV === 'production' ? prodHref : devHref;
  40. })
  41. }else{
  42. Message({
  43. message: errmsg,
  44. type: 'error',
  45. duration: 2 * 1000
  46. })
  47. }
  48. return Promise.reject('error')
  49. } else {
  50. return response
  51. }
  52. }, error => {
  53. console.log('err' + error)// for debug
  54. Message({
  55. message: '连接超时',
  56. type: 'error',
  57. duration: 2 * 1000
  58. })
  59. return Promise.reject(error)
  60. })
  61. export default service