当前位置:   article > 正文

vue3后台管理框架之axios二次封装_vue3 axios二次封装请求接口

vue3 axios二次封装请求接口

在开发项目的时候避免不了与后端进行交互,因此我们需要使用axios插件实现发送网络请求。在开发项目的时候

我们经常会把axios进行二次封装。

目的:

1:使用请求拦截器,可以在请求拦截器中处理一些业务(开始进度条、请求头携带公共参数)

2:使用响应拦截器,可以在响应拦截器中处理一些业务(进度条结束、简化服务器返回的数据、处理http网络错误)

安装依赖

pnpm add axios@0.21.3 -S

在根目录下创建utils/request.ts

  1. import axios from "axios";
  2. import { ElMessage } from "element-plus";
  3. //创建axios实例
  4. const request = axios.create({
  5. baseURL: import.meta.env.VITE_APP_BASE_API,
  6. timeout: 5000
  7. })
  8. //请求拦截器
  9. request.interceptors.request.use(config => {
  10. return config;
  11. });
  12. //响应拦截器
  13. request.interceptors.response.use((response) => {
  14. return response.data;
  15. }, (error) => {
  16. //处理网络错误
  17. let msg = '';
  18. const status = error.response.status;
  19. switch (status) {
  20. case 401:
  21. msg = "token过期";
  22. break;
  23. case 403:
  24. msg = '无权访问';
  25. break;
  26. case 404:
  27. msg = "请求地址错误";
  28. break;
  29. case 500:
  30. msg = "服务器出现问题";
  31. break;
  32. default:
  33. msg = "无网络";
  34. }
  35. ElMessage({
  36. type: 'error',
  37. message: msg
  38. })
  39. return Promise.reject(error);
  40. });
  41. export default request;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/285572
推荐阅读
相关标签
  

闽ICP备14008679号