news 2026/7/1 23:19:57

axios二次封装以及拦截器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
axios二次封装以及拦截器

(对axios还不熟悉,可能有不对的地方,欢迎指正)

一、二次封装
  • axios二次封装:从请求中提取相同的功能封装成一个组件,响应也类似。可以提高代码复用性,并且集中处理请求/相应逻辑。
  • 二次封装步骤:
  1. 创建封装文件,一般在src/utils文件夹,然后创建axios实例
// 创建 axios 实例constrequest=axios.create({baseURL:process.env.VUE_APP_BASE_API,// API 基础路径timeout:10000,// 超时时间headers:{// 默认请求头'Content-Type':'application/json'}});
  1. 添加请求拦截器
  2. 添加响应拦截器
  3. 添加辅助函数
// 处理 token 过期functionhandleTokenExpired(){// 清除 tokenlocalStorage.removeItem('token');sessionStorage.removeItem('token');// 显示提示Modal.confirm({title:'登录已过期',content:'您的登录已过期,请重新登录',okText:'重新登录',onOk(){// 跳转到登录页router.replace('/login');}});}// 处理业务错误functionhandleBusinessError(code,message){consterrorMessages={1001:'用户名或密码错误',1002:'验证码错误',1003:'账号已被锁定',2001:'token 已过期',2002:'token 无效',// ... 其他业务错误码};consterrorMsg=errorMessages[code]||message||'操作失败';message.error(errorMsg);// 特殊错误码处理if([2001,2002].includes(code)){handleTokenExpired();}}
  1. 封装常用请求方法
  2. … …
二、拦截器

以请求拦截器为例,执行流程

请求 → 请求拦截器 → 服务器 → 响应 → 响应拦截器 → 你的代码

  • 请求拦截器用于统一处理响应数据
axios.interceptors.response.use((response)=>{// 假设后端返回 { code: 0, data: {...}, message: 'success' }if(response.data.code===0){returnresponse.data.data;// 直接返回业务数据}else{returnPromise.reject(response.data.message);}},(error)=>{returnPromise.reject(error);});// 使用:直接拿到业务数据,不用再 response.data.dataconstdata=awaitaxios.get('/api/user');
  • 完整的请求生命周期

请求拦截器:在请求发出前执行
响应拦截器:在响应到达后执行
执行顺序:
请求拦截器:按代码顺序执行(1→2→3)
响应拦截器:代码的逆序,后进先出,后写的先执行(3→2→1)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 19:19:49

agent学习打卡第一次

agent学习打卡第一次TOC task0 环境配置 环境配置 。 安装 Python 编程环境(Jupyter / PyCharm / VS Code)或者AI编译器:Qoder、Trae等 安装常用库:tavily-python、requests、openai等 注册笔记打卡平台账号,熟悉 Mark…

作者头像 李华
网站建设 2026/6/29 23:56:07

小红书数据采集实战:从零掌握xhs工具的高效应用

小红书数据采集实战:从零掌握xhs工具的高效应用 【免费下载链接】xhs 基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/ 项目地址: https://gitcode.com/gh_mirrors/xh/xhs 在数字营销竞争日益激烈的今天,小红书作为内容电商的…

作者头像 李华
网站建设 2026/7/1 2:58:18

游游的字母翻倍【牛客tracker 每日一题】

游游的字母翻倍 时间限制:1秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每…

作者头像 李华
网站建设 2026/6/30 11:49:25

国土空间用途管制监测监管场景建设方案

随着生态文明建设的深入推进和国土空间规划体系的确立,国土空间用途管制已成为实现国家治理体系和治理能力现代化的重要抓手。传统的管理模式已难以适应全域、全要素、全流程的精细化治理需求,构建智能、高效、精准的监测监管场景成为当务之急。一、建设…

作者头像 李华
网站建设 2026/6/26 11:08:53

纺织定型机数据采集物联网解决方案

进布状态、布面温度、定形时间以及织物克重、门幅等关键质量指标,提高定形成功率,减少反复定形的次数,实现节能与增效双重目标的统一。纺织印染行业中,定型机是面料后整理的核心设备,可对棉、麻、丝、毛、化纤等各类织…

作者头像 李华
网站建设 2026/7/1 18:42:43

大白话讲强化学习的核心概念

强化学习过程什么是 奖励函数 R(s,a,a′)R(s,a,a)R(s,a,a′)?什么是 状态价值函数?什么是 Bellman 最优方程?策略 π\piπ:代理的大脑强化学习 就是:做一件事 → 立刻有好坏感受 → 把所有 将来的好坏 折算成 现在的分…

作者头像 李华