request.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // /utils/request.ts
  2. import axios from 'axios'
  3. // import useUserStore from '@/store/modules/user'
  4. //创建axios实例
  5. const request = axios.create({
  6. baseURL: import.meta.env.VITE_BASE_API,
  7. timeout: 5000,
  8. })
  9. //请求拦截
  10. request.interceptors.request.use((config) => {
  11. // const userStore = useUserStore()
  12. // if (userStore.token) {
  13. // config.headers.token = userStore.token
  14. // }
  15. return config
  16. })
  17. //响应拦截
  18. request.interceptors.response.use(
  19. (response) => {
  20. return response.data
  21. },
  22. (error) => {
  23. let message = ''
  24. const status = error.response.status
  25. switch (status) {
  26. case 401:
  27. message = 'TOKEN过期'
  28. break
  29. case 403:
  30. message = '无权访问'
  31. break
  32. case 404:
  33. message = '请求地址错误'
  34. break
  35. case 500:
  36. message = '服务器出现问题'
  37. break
  38. default:
  39. message = '网络出现问题'
  40. break
  41. }
  42. //提示错误信息
  43. //...
  44. return Promise.reject(error)
  45. },
  46. )
  47. //对外暴露
  48. export default request