news 2026/7/15 2:51:29

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/13 4:18:53

六音音源完整修复方案:解决洛雪音乐播放问题

六音音源完整修复方案:解决洛雪音乐播放问题 【免费下载链接】New_lxmusic_source 六音音源修复版 项目地址: https://gitcode.com/gh_mirrors/ne/New_lxmusic_source 当您打开最新版洛雪音乐却无法播放心爱歌曲时,六音音源修复方案正是您需要的技…

作者头像 李华
网站建设 2026/7/12 14:33:53

Python通达信数据分析终极指南:Mootdx完整入门教程

Python通达信数据分析终极指南:Mootdx完整入门教程 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在金融数据分析和量化投资领域,通达信作为国内主流的证券软件&#xff0…

作者头像 李华
网站建设 2026/7/13 2:43:30

TPFanCtrl2终极指南:让你的ThinkPad风扇智能又安静

TPFanCtrl2终极指南:让你的ThinkPad风扇智能又安静 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 还在忍受ThinkPad风扇的噪音干扰吗?TPFanCtr…

作者头像 李华
网站建设 2026/7/14 8:19:18

LobeChat安全性评估:XSS防护与CSRF防御机制检查

LobeChat安全性评估:XSS防护与CSRF防御机制检查 在当今 AI 聊天应用遍地开花的背景下,LobeChat 凭借其现代化架构和强大的可扩展性脱颖而出。作为一款基于 Next.js 构建的开源大语言模型(LLM)前端框架,它不仅支持 GPT…

作者头像 李华
网站建设 2026/7/11 4:18:16

Vue可视化打印插件完整使用指南:从入门到精通

在现代Web开发中,打印功能往往是项目开发中不可或缺的一部分。无论是生成报表、制作标签还是输出单据,一个强大而灵活的打印解决方案能够显著提升用户体验。vue-plugin-hiprint作为专为Vue生态设计的打印插件,通过可视化设计器、拖拽操作和丰…

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

阴阳师自动化脚本:3大核心技能解锁,游戏效率提升500%实用指南

想要在阴阳师中实现真正的"挂机刷本"?OnmyojiAutoScript作为一款专业的阴阳师自动化工具,能够帮你解锁游戏效率的全新境界。从百鬼夜行的智能撒豆到御魂副本的自动循环,这款工具让重复性操作成为历史,让你专注于游戏策略…

作者头像 李华