当前位置: 首页 > 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的数据并路由返回到登录界面

相关文章:

  • 机试 | 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(线段树解法)
  • php网站开发if的代码/国际新闻头条最新消息
  • 华侨城网站建设/宁波seo推荐推广平台
  • 广平专业做网站/汕头seo网站推广
  • 织梦网站模板免费/百度推广下载
  • 网站建设公司studstu/南宁哪里有seo推广厂家
  • 万全县城乡建设网站/google play store