明晋仓库前台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

axios.js 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. //引入axios
  2. import axios from 'axios'
  3. import qs from 'qs'
  4. import store from '@/store'
  5. import router from '@/router'
  6. axios.defaults.baseURL = store.state.app.serverName
  7. //设置默认请求头
  8. axios.defaults.headers = {
  9. 'Content-Type': 'application/x-www-form-urlencoded',
  10. }
  11. axios.defaults.timeout = 600000
  12. //请求拦截器
  13. axios.interceptors.request.use(config => {
  14. //console.log(config.url)
  15. var bool1 = config.url.indexOf("import")
  16. var bool2 = config.url.indexOf("upload")
  17. var bool3 = config.url.indexOf("export")
  18. config.headers.token = localStorage.getItem('token')
  19. config.headers.userId = localStorage.getItem('userId')
  20. if(localStorage.getItem('belongId')){
  21. config.headers.belongId = localStorage.getItem('belongId')
  22. }else {
  23. config.headers.belongId = '0'
  24. }
  25. // if (config.url.indexOf("login")<0) {
  26. // config.headers.belongId = localStorage.getItem('belongId')
  27. // console.log("config.headers.belongId:"+JSON.stringify(belongId))
  28. // }
  29. if (bool1 > 0 || bool2 > 0) {
  30. return config
  31. } else {
  32. config.data = qs.stringify(config.data);
  33. return config
  34. }
  35. }, error => {
  36. return Promise.reject(error)
  37. })
  38. //响应拦截器即异常处理
  39. axios.interceptors.response.use(response => {
  40. //console.log("response.data.code"+response.data.code)
  41. switch (response.data.code) {
  42. case 101:
  43. router.replace({
  44. path: '/login',
  45. })
  46. break;
  47. default:
  48. return response
  49. break;
  50. }
  51. // if (response.data.code == 101) {
  52. // router.replace({
  53. // path: '/login',
  54. // })
  55. // } else {
  56. // return response
  57. // }
  58. }, err => {
  59. if (err && err.response) {
  60. switch (err.response.status) {
  61. case 400:
  62. err.message = '错误请求'
  63. break;
  64. case 401:
  65. err.message = '未授权,请重新登录'
  66. break;
  67. case 403:
  68. err.message = '拒绝访问'
  69. break;
  70. case 404:
  71. err.message = '请求错误,未找到该资源'
  72. break;
  73. case 405:
  74. err.message = '请求方法未允许'
  75. break;
  76. case 408:
  77. err.message = '请求超时'
  78. break;
  79. case 500:
  80. err.message = '服务器端出错'
  81. break;
  82. case 501:
  83. err.message = '网络未实现'
  84. break;
  85. case 502:
  86. err.message = '网络错误'
  87. break;
  88. case 503:
  89. err.message = '服务不可用'
  90. break;
  91. case 504:
  92. err.message = '网络超时'
  93. break;
  94. case 505:
  95. err.message = 'http版本不支持该请求'
  96. break;
  97. default:
  98. err.message = `连接错误${err.response.status}`
  99. }
  100. } else {
  101. err.message = "连接到服务器失败"
  102. }
  103. message.err(err.message)
  104. return Promise.resolve(err.response)
  105. })
  106. export default {
  107. //get请求
  108. get(url, param) {
  109. return new Promise((resolve, reject) => {
  110. axios({
  111. method: 'get',
  112. url,
  113. params: param
  114. }).then(response => {
  115. resolve(response)
  116. }).catch(error => {
  117. reject(error)
  118. })
  119. })
  120. },
  121. //post请求
  122. post(url, param) {
  123. return new Promise((resolve, reject) => {
  124. axios({
  125. method: 'post',
  126. url,
  127. data: param,
  128. }).then(response => {
  129. resolve(response)
  130. }).catch(error => {
  131. reject(error)
  132. })
  133. })
  134. }
  135. };