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

【axios二次封装】

axios二次封装

  • 安装
  • 封装
  • 使用

安装

pnpm add axios

封装

// 进行axios二次封装:使用请求与响应拦截器
import axios from 'axios'
import { ElMessage } from 'element-plus'//创建axios实例
const request = axios.create({baseURL: import.meta.env.VITE_APP_BASE_API,timeout: 5000,
})
//响应拦截器
request.interceptors.response.use(// 处理成功的响应(response) => {return response.data},// 处理失败的响应(error) => {// 如果error.response存在(意味着请求已经发出并得到了某种响应,但响应状态码表示错误)// 获取导致错误的请求URLconst requestUrl = error.response ? error.response.config.url : 'N/A'//处理网络错误let msg = ''const status = error.response.statusswitch (status) {case 401:msg = 'token过期'breakcase 403:msg = '无权访问'breakcase 404:// msg = '请求地址错误',msg = `404 - 请求地址错误 (请求路径: ${requestUrl})`breakcase 500:msg = '服务器出现问题'breakdefault:msg = '无网络'}ElMessage({type: 'error',message: msg,})return Promise.reject(error)},
)
export default request

使用

import request from '@/utils/request'export const reqLogin = (data: loginFormData) => {return request.post<any, loginResponseData>(API.LOGIN_URL, data)
}
http://www.lryc.cn/news/531272.html

相关文章:

  • P7497 四方喝彩 Solution
  • 深入剖析 Bitmap 数据结构:原理、应用与优化策略
  • bypass hcaptcha、hcaptcha逆向
  • WebForms DataList 深入解析
  • C# List 列表综合运用实例⁓Hypak原始数据处理编程小结
  • 【C++基础】字符串/字符读取函数解析
  • 大模型-CLIP 详细介绍
  • 1.4 Go 数组
  • WebSocket——环境搭建与多环境配置
  • 三、递推关系与母函数,《组合数学(第4版)》卢开澄 卢华明
  • 线程互斥同步
  • DeepSeek R1 AI 论文翻译
  • 如何计算态势感知率?
  • 二、CSS笔记
  • Alibaba开发规范_异常日志之日志规约:最佳实践与常见陷阱
  • 使用istio实现权重路由
  • M. Triangle Construction
  • 每天学点小知识之设计模式的艺术-策略模式
  • 机试题——到邻国目标城市的最短距离
  • Python + Tkinter + pyttsx3实现的桌面版英语学习工具
  • 【Vite + Vue + Ts 项目三个 tsconfig 文件】
  • AI时代IT行业职业方向规划大纲
  • Mac M1 Comfyui 使用MMAudio遇到的问题解决?
  • 大语言模型深度研究功能:人类认知与创新的新范式
  • [SAP ABAP] 性能优化
  • 并行计算、分布式计算与云计算:概念剖析与对比研究(表格对比)
  • ASP.NET Core Filter
  • doris:删除操作概述
  • 【思维导图】redis
  • 申博经验贴