当前位置: 首页 > news >正文

项目亮点 封装request请求模块

封装网络请求模块 统一管理和复用

在项目根目录的utils文件夹下 request模块更新

const http = axios.create({baseURL: 'http://geek.itheima.net/v1_0',timeout: 5000
})

定义根域名和超时时间

请求拦截器

请求发送之前拦截,做自定义的配置

// 添加请求拦截器
request.interceptors.request.use(config => {// if not login add tokenconst token = getToken()if (token) {config.headers.Authorization = `Bearer ${token}`}return config
})

将用户token携带进头部传给后端

响应拦截器

// 添加响应拦截器
request.interceptors.response.use((response)=> {// 2xx 范围内的状态码都会触发该函数。// 对响应数据做点什么return response.data}, (error)=> {if(error.response.status === 401){// 监听到401// 1.清除tokenremoveToken()router.navigate('/login')// 2.浏览器强制刷新 // window.location.reload(]9)}// 超出 2xx 范围的状态码都会触发该函数。// 对响应错误做点什么return Promise.reject(error)
})

如果监听到401状态码 清除token并跳转至登录界面

error.response.status为401的话服务器端需要额外的身份验证,清除localstorge的数据并路由返回到登录界面

http://www.dtcms.com/a/215231.html

相关文章:

  • 机试 | vector/array Minimum Glutton C++
  • 开发过的一个Coding项目
  • 电路图识图基础知识-绘制的规则(五)
  • 大模型微调(3):Hugging Face Transformers 快速入门
  • 07-后端Web实战(部门管理)
  • python 报错记录-Linux 退出python环境
  • Class ‘AlibabaCloud\Tea\Utils\Utils\RuntimeOptions‘ not found
  • 2025年中国ERP软件前十名对比:选型指南与适用场景的分析
  • Linux多线程(二)之进程vs线程
  • 单细胞测序细胞注释全攻略:选择自动工还是手动验证,附常见细胞Marker基因
  • 多端一体开发:iVX 如何让「一次开发,全平台部署」从理想照进现实
  • PDF 表单按钮动态边框效果
  • 使用 Vuex 实现用户注册与登录功能
  • Graph Neural Network(GNN)
  • 苍穹外卖--Redis
  • Java基础 Day21
  • 袁庭新陕西理工大学讲座报告:从技术原理到行业变革,构建AI时代的职业护城河
  • Webpack 5 模块联邦(Module Federation)详解与实战
  • 曼昆经济学原理第九版目录
  • 洛谷 P3374 【模板】树状数组 1(线段树解法)
  • 关于 smali:1. Smali 基础语法入门
  • [Java恶补day7] 42. 接雨水
  • AI巡检系统适合多大面积的餐厅?
  • 爬虫学习-Scrape Center spa6 超简单 JS 逆向
  • Spring Boot + OpenCSV 数据清洗实战:CSV 结构化处理与可视化
  • leetcode hot100刷题日记——17.搜索插入位置
  • java基础(面向对象进阶高级)内部类
  • Webtrees 手册/程序概述
  • 游戏:元梦之星游戏开发代码(谢苏)
  • 【Spring AI集成实战】基于NVIDIA LLM API构建智能聊天应用:从配置到函数调用全解析