vite vue3配置axios

准备

参考

安装axios

yarn add axios

中文官网
在这里插入图片描述
src下新建request文件夹,该文件下新建index.ts

import axios from 'axios';
import { ElMessage } from 'element-plus';// const errorCodeType = function (code: number): string {
// 	let errMessage: string = '未知错误';
// 	switch (code) {
// 		case 400:
// 			errMessage = '错误的请求';
// 			break;
// 		case 401:
// 			errMessage = '未授权,请重新登录';
// 			break;
// 		case 403:
// 			errMessage = '拒绝访问';
// 			break;
// 		case 404:
// 			errMessage = '请求错误,未找到该资源';
// 			break;
// 		case 405:
// 			errMessage = '请求方法未允许';
// 			break;
// 		case 408:
// 			errMessage = '请求超时';
// 			break;
// 		case 500:
// 			errMessage = '服务器端出错';
// 			break;
// 		case 501:
// 			errMessage = '网络未实现';
// 			break;
// 		case 502:
// 			errMessage = '网络错误';
// 			break;
// 		case 503:
// 			errMessage = '服务不可用';
// 			break;
// 		case 504:
// 			errMessage = '网络超时';
// 			break;
// 		case 505:
// 			errMessage = 'http版本不支持该请求';
// 			break;
// 		default:
// 			errMessage = `其他连接错误 --${code}`;
// 	}
// 	return errMessage;
// };// 配置新建一个 axios 实例
const service = axios.create({baseURL: import.meta.env.VITE_API_URL,timeout: 50000,headers: { 'Content-Type': 'application/json' }
});// 添加请求拦截器
service.interceptors.request.use((config) => {// 在发送请求之前做些什么 token// if (Session.get('token')) {// 	config.headers!['Authorization'] = `${Session.get('token')}`;// }return config;},(error) => {// 对请求错误做些什么return Promise.reject(error);}
);// 添加响应拦截器
service.interceptors.response.use((response) => {// 对响应数据做点什么const res = response.data;return res;// if (res.code && res.code !== 0) {// 	// `token` 过期或者账号已在别处登录// 	if (res.code === 401 || res.code === 4001) {// 		Session.clear(); // 清除浏览器全部临时缓存// 		window.location.href = '/'; // 去登录页// 		ElMessageBox.alert('你已被登出,请重新登录', '提示', {})// 			.then(() => {})// 			.catch(() => {});// 	}// 	return Promise.reject(service.interceptors.response);// } else {// 	return res;// }},(error) => {// 对响应错误做点什么if (error.message.indexOf('timeout') != -1) {ElMessage.error('网络超时');} else if (error.message == 'Network Error') {ElMessage.error('网络连接错误');} else {if (error.response.data) ElMessage.error(error.response.statusText);else ElMessage.error('接口路径找不到');}return Promise.reject(error);}
);// 导出 axios 实例
export default service;

使用

api.get('/users').then((response: AxiosResponse) => {console.log(response.data);}).catch((error: any) => {console.error(error);});// 发送POST请求
api.post('/users', { name: 'John Doe' }).then((response: AxiosResponse) => {console.log(response.data);}).catch((error: any) => {console.error(error);});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/154377.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一阶低通滤波器(一阶巴特沃斯滤波器)

连续传递函数G(s) 离散传递函数G(z) 转换为差分方程形式 一阶巴特沃斯滤波器Filter Designer参数设计:参考之前的博客Matlab的Filter Designer工具设计二阶低通滤波器 设计采样频率100Hz,截止频率20Hz。 注意:设计参数使用在离散系统中&…

【性能测试】稳定性/并发压力测试的TPS计算+5W并发场景设计...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、稳定性测试TPS…

AI生成技术威胁版权保护,水印技术和法律完善是关键/安圭拉小岛以.ai域名注册赚得3000万美元 |魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件🔥,更新AIGC的最新动态,生成相应的魔法简报,节省阅读时间👻 🔥资讯预览 AI生成技术威胁版权保护,水印技术和法律完善是关键 Sam Altman对…

软件外包开发的验收流程

软件外包开发的验收流程是确保项目符合预期标准并满足客户需求的关键步骤。以下是一个通用的软件外包开发验收流程,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.明确验收标准: 在项目…

jmeter接口自动化部署jenkins教程详解

首先,保证本地安装并部署了jenkins,jmeter,xslproc 我搭建的自动化测试框架是jmeterjenkinsxslproc 注意:原理是,jmeter自生成的报告jtl文件,通过xslproc工具,再结合jmeter自带的模板修改&…

【C语言】条件变量(pthread_cond_t)

一、概述 条件变量(pthread_cond_t)是POSIX线程(也称为pthread)库中用于线程同步的一种机制。在多线程程序中,条件变量通常与互斥锁(pthread_mutex_t)一起使用,以防止并发问题,如竞态条件和死锁。 二、条件变量(pthre…

渲染器之挂载与更新

讲解渲染器的核心功能:挂载与更新。 1、挂载子节点和元素的属性 当 vnode.children 的值是字符串类型时,会把它设置为元素的文本内容。一个元素除了具有文本子节点外,还可以包含其他元素子节点,并且子节点可以是很多个。为了描述…

IonQ、Rigetti、D-Wave公布2023年第三季度财报!

近期,量子计算公司Rigetti、IonQ和D-Wave均公布了各自在2023年第三季度的盈利收益。 这三家公司在近期均实现了收入增长,并助力客户实现相应的业务增长。然而,在追求实现量子霸权和超越经典硅基计算机系统的同时,这些公司仍面临着…

ECharts零基础使用思路 图表案例网站推荐

1、用npm安装echarts npm i echarts -S 2、引入 (1)可以在mian.js里全局引入 import echarts from ‘echarts’ Vue.prototype.$echarts echarts 将echarts挂载在Vue原型上 用时直接this.$echarts即可 (2)也可以在组件中按需引入…

安卓毕业设计:基于安卓android微信小程序的在线医生答疑系统

项目介绍 在线医生答疑开发使系统能够更加方便快捷,同时也促使在线医生答疑变的更加系统化、有序化。系统界面较友好,易于操作。具体在系统设计上,客户端使用微信开发者,后台也使用java技术在动态页面上进行了设计,My…

AR眼镜方案—单目光波导AR智能眼镜

光波导技术是一项具有前沿意义的技术,它能够将光线反射180度,使得眼镜框架内置的MicroLED屏幕的图像通过多次反射与扩散后准确地传递到人眼中。采用MicroLED显示技术的AR智能眼镜不仅体积显著缩小,屏幕只有0.68英寸大小,并且还能够…

KT142C语音芯片音乐前要空白音才行,声音会被截掉,实际语音是你好,播放变成好

KT142C语音芯片播放音乐前必须有一段空白音才行,不然声音会被截掉一部分,播放 温度1超高,如果前面没有空白音,就会变成 度1超高 出现这个问题,核心的原理在于功放芯片是受控了 这个问题只存在于,配置为DAC…

软考必须得从初级开始考吗?

软考是指软件技术专业资格考试,是由中国计算机技术职业资格认证中心(NCTC)主办的一项国家级考试。软考考试内容涵盖了软件工程、数据库、网络与信息安全、嵌入式系统等多个方面的知识,是评价软件技术人员专业水平的重要标准。 对于…

手机 IOS 软件 IPA 签名下载安装详情图文教程

由于某些应用由于某些原因无法上架到 appStore 或者经过修改过的软件游戏等无法通过 appStore 安装,我们就可以使用签名的方式对相应软件的IPA文件进行签名然后安装到你的手机上 这里我们使用爱思助手进行签名安装,爱思助手支持两种方式,一种…

visionOS空间计算实战开发教程Day 1:环境安装和编写第一个程序

安装 截至目前visionOS还未在Xcode稳定版中开放,所以需要下载​​Xcode Beta版​​。比如我们可以下载Xcode 15.1 beta 2,注意Xcode 15要求系统的版本是macOS Ventura 13.5或更新,也就是说2017年的MacBook Pro基本可以勉强一战,基…

从复杂大模型加载到3D PDF发布: EVGET HOOPS Framework如何助力高性能3D桌面应用开发?

在当今数字化时代,3D图形和CAD(计算机辅助设计)技术在各行各业中扮演着至关重要的角色。 HOOPS SDK是由Tech Soft 3D公司开发的一套强大的3D图形和CAD(计算机辅助设计)开发工具包。HOOPS致力于提供先进的3D复杂数据处…

数据结构与算法之美学习笔记:23 | 二叉树基础(上):什么样的二叉树适合用数组来存储?

目录 前言树(Tree)二叉树(Binary Tree)二叉树的遍历解答开篇 & 内容小结 前言 本节课程思维导图: 前面我们讲的都是线性表结构,栈、队列、链表等等。今天我们讲一种非线性表结构,树。问题&…

WebGoat通关攻略之 SQL Injection (intro)

SQL Injection (intro) 1. What is SQL? 本题练习SQL查询语句,就是写一句SQL获取叫Bob Franco所在的department SELECT department FROM employees WHERE first_name Bob AND last_name Franco成功通关! 2. Data Manipulation Language (DML) 本题…

安卓毕业设计:基于安卓android微信小程序的超市购物系统

运行环境 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包&a…

喜报 | 思码逸 DevInsight 通过DaoCloud兼容性互认证

近日,北京思码逸科技有限公司(简称:思码逸)的 Devlnsight 一站式研发效能度量平台与上海道客网络科技有限公司(简称:DaoCloud)的 DaoCloud Enterprise 云原生操作系统 V5.0,经双方联…