request.js 2.1 KB

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