request.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import axios, { CanceledError } from 'axios'
  2. import { showToast } from 'vant'
  3. // 创建一个 axios 实例
  4. const service = axios.create({
  5. baseURL: "", // 所有的请求地址前缀部分
  6. timeout: 60000, // 请求超时时间毫秒
  7. headers: {
  8. // 设置后端需要的传参类型
  9. 'Content-Type': 'application/json'
  10. }
  11. })
  12. // 添加请求拦截器
  13. service.interceptors.request.use(
  14. (config) => {
  15. return config
  16. },
  17. (error) => {
  18. // 对请求错误做些什么
  19. showToast('网络请求失败')
  20. return Promise.reject(error)
  21. }
  22. )
  23. // 添加响应拦截器
  24. service.interceptors.response.use(
  25. (response) => {
  26. const res = response.data
  27. // 对响应错误做点什么
  28. if (res.code !== 200) {
  29. showToast(res.msg)
  30. }
  31. return res
  32. },
  33. (error) => {
  34. // 对响应错误做点什么
  35. if (error instanceof CanceledError) {
  36. return Promise.reject(error)
  37. }
  38. showToast(error.response?.data?.message || error.message)
  39. return Promise.reject(error)
  40. }
  41. )
  42. export default service