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

VUE 全局设置防重复点击

请求后端防止重复点击,用户点击加入遮罩层,请求完毕关闭遮罩层

我们利用请求拦截器,在用户点击的时候,弹出遮罩层
本文采用i18n国际化 + element plus UI,提取你想要的,这里不做简化

完整代码如下:

// src/service/httpService.jsimport axios from 'axios';
import { ElMessage, ElLoading } from 'element-plus';
import i18n from '../i18n';const apiEndpoint = process.env.VUE_APP_API_ENDPOINT;const httpClient = axios.create({baseURL: apiEndpoint + '/api',
});let loadingInstance;// 请求拦截器
httpClient.interceptors.request.use(config => {loadingInstance = ElLoading.service({ fullscreen: true, text: 'Loading...' });const token = localStorage.getItem('token') || sessionStorage.getItem('token');if (token) {config.headers['Authorization'] = `Bearer ${token}`;}return config;
}, error => {if (loadingInstance) loadingInstance.close();return Promise.reject(error);
});httpClient.interceptors.response.use(response => {if (loadingInstance) loadingInstance.close();return response;}, error => {if (loadingInstance) loadingInstance.close();let message = '';let messageType = 'error'; // 默认消息类型if (error.response) {const status = error.response.status;message = error.response.data.message || i18n.global.t('defaultErrorMessage');if (status < 200) {messageType = 'info';} else if (status >= 300 && status < 400) {messageType = 'warning';} else if (status >= 400 && status < 500) {messageType = 'warning';} else if (status >= 500) {messageType = 'error';}} else if (error.request) {message = i18n.global.t('noResponse');messageType = 'error';} else {message = i18n.global.t('requestError');messageType = 'error';}ElMessage({showClose: true, message: message, type: messageType, duration: 5000,});return Promise.reject(error);}
);export const get = async (url, params = {}) => {const response = await httpClient.get(url, { params });return response.data;
};export const post = async (url, data) => {const response = await httpClient.post(url, data);return response.data;
};export default {get,post,
};

相关文章:

VUE 全局设置防重复点击

请求后端防止重复点击&#xff0c;用户点击加入遮罩层&#xff0c;请求完毕关闭遮罩层 我们利用请求拦截器&#xff0c;在用户点击的时候&#xff0c;弹出遮罩层 本文采用i18n国际化 element plus UI&#xff0c;提取你想要的&#xff0c;这里不做简化 完整代码如下&#xf…...

备战蓝桥杯---动态规划(基础1)

先看几道比较简单的题&#xff1a; 直接f[i][j]f[i-1][j]f[i][j-1]即可&#xff08;注意有马的地方赋值为0&#xff09; 下面是递推循环方式实现的AC代码&#xff1a; #include<bits/stdc.h> using namespace std; #define int long long int a[30][30]; int n,m,x,y; …...

CVE-2018-19518 漏洞复现

CVE-2018-19518 漏洞介绍 IMAP协议&#xff08;因特网消息访问协议&#xff09;它的主要作用是邮件客户端可以通过这种协议从邮件服务器上获取邮件的信息&#xff0c;下载邮件等。它运行在TCP/IP协议之上&#xff0c;使用的端口是143。在php中调用的是imap_open函数。 PHP 的…...

Python爬虫实战:抓取猫眼电影排行榜top100#4

爬虫专栏系列&#xff1a;http://t.csdnimg.cn/Oiun0 抓取猫眼电影排行 本节中&#xff0c;我们利用 requests 库和正则表达式来抓取猫眼电影 TOP100 的相关内容。requests 比 urllib 使用更加方便&#xff0c;而且目前我们还没有系统学习 HTML 解析库&#xff0c;所以这里就…...

Fiddler抓包工具之fiddler界面工具栏介绍

Fiddler界面工具栏介绍 &#xff08;1&#xff09;WinConfig&#xff1a;windows 使用了一种叫做“AppContainer”的隔离技术&#xff0c;使得一些流量无法正常捕获&#xff0c;在 fiddler中点击 WinConfig 按钮可以解除这个诅咒&#xff0c;这个与菜单栏 Tools→Win8 Loopback…...

LabVIEW工业监控系统

LabVIEW工业监控系统 介绍了一个基于LabVIEW软件开发的工业监控系统。系统通过虚拟测控技术和先进的数据处理能力&#xff0c;实现对工业过程的高效监控&#xff0c;提升系统的自动化和智能化水平&#xff0c;从而满足现代工业对高效率、高稳定性和低成本的需求。 随着工业自…...

Linux 文件连接:符号链接与硬链接

Linux 文件连接&#xff1a;符号链接与硬链接 介绍 在 Linux 系统中&#xff0c;文件连接是一个强大的概念&#xff0c;它允许我们在文件系统中创建引用&#xff0c;从而使得文件和目录之间产生联系。在本文中&#xff0c;我们将深入探讨两种主要类型的文件连接&#xff1a;符…...

数据分类分级

一段时间没写文章了&#xff0c;最近做政府数据治理方面的项目&#xff0c;数据治理一个重要的内容是数据安全&#xff0c;会涉及数据的分类分级&#xff0c;是数据治理的基础。 随着“十四五”规划推行&#xff0c;数据要素概念与意识全面铺开&#xff0c;国家、政府机构、企业…...

第三十天| 51. N皇后

Leetcode 51. N皇后 题目链接&#xff1a;51 N皇后 题干&#xff1a;按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整…...

pythn-scipy 查漏补缺

1. 2. 3. 4. 5. 6. 7. 8. 9. 偏度 skewness&#xff0c;峰度 kurtosis...

【JavaScript 漫游】【013】Date 对象知识点摘录

文章简介 本文为【JavaScript 漫游】专栏的第 013 篇文章&#xff0c;记录了 JS 语言中 Date 对象的重要知识点。 普通函数的用法构造函数的用法日期的运算静态方法&#xff0c;包括&#xff1a;Date.now()、Date.parse() 和 Date.UTC()实例方法&#xff0c;包括&#xff1a;…...

vue.config.js和webpack.config.js区别

webpack.config.js和vue.config.js的区别 webpack.config.js是webpack的配置文件&#xff0c;所有使用webpack作为打包工具的项目都可以使用&#xff0c;vue的项目可以使用&#xff0c;react的项目也可以使用。 vue.config.js是vue项目的配置文件&#xff0c;专用于vue项目。…...

H12-821_73

73.某台路由器Router LSA如图所示&#xff0c;下列说法中错误的是&#xff1f; A.本路由器的Router ID为10.0.12.1 B.本路由器为DR C.本路由器已建立邻接关系 D.本路由器支持外部路由引入 答案&#xff1a;B 注释&#xff1a; LSA中的链路信息Link ID&#xff0c;Data&#xf…...

postman执行批量测试

1.背景 有许多的人常常需要使用第三方系统进行重复的数据查询&#xff0c;本文介绍使用PostMan的方式对数据进行批量的查询&#xff0c;减少重复的劳动。 2.工具下载 3.初入门 一、如图示进行点击&#xff0c;创建collection 二、输入对应的名称 三、创建Request并进行查…...

蓝桥杯基础知识8 list

蓝桥杯基础知识8 list 01 list 的定义和结构 lits使用频率较低&#xff0c;是一种双向链表容器&#xff0c;是标准模板库&#xff08;STL&#xff09;提供的一种序列容器&#xff0c;lsit容器以节点&#xff08;node&#xff09;的形式存储元素&#xff0c;使用指针将这些节点链…...

【DDD】学习笔记-理解领域模型

Eric Evans 的领域驱动设计是对软件设计领域的一次重新审视&#xff0c;是在面向对象语言大行其道时对数据建模的“拨乱反正”。Eric 强调了模型的重要性&#xff0c;例如他在书中总结了模型在领域驱动设计中的作用包括&#xff1a; 模型和设计的核心互相影响模型是团队所有成…...

v-if 和v-show 的区别

第074个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使用&#xff0c;computed&a…...

LabVIEW网络测控系统

LabVIEW网络测控系统 介绍了基于LabVIEW的网络测控系统的开发与应用&#xff0c;通过网络技术实现了远程的数据采集、监控和控制。系统采用LabVIEW软件与网络通信技术相结合&#xff0c;提高了系统的灵活性和扩展性&#xff0c;适用于各种工业和科研领域的远程测控需求。 随着…...

攻防世界 CTF Web方向 引导模式-难度1 —— 11-20题 wp精讲

PHP2 题目描述: 暂无 根据dirsearch的结果&#xff0c;只有index.php存在&#xff0c;里面也什么都没有 index.phps存在源码泄露&#xff0c;访问index.phps 由获取的代码可知&#xff0c;需要url解码(urldecode )后验证id为admin则通过 网页工具不能直接对字母进行url编码 …...

华为Eth-Trunk级联堆叠接入IPTV网络部署案例

Eth-Trunk级联堆叠接入IPTV网络部署案例 组网图形 图2 Eth-Trunk级联堆叠IPTV基本组网图 方案简介配置注意事项组网需求数据规划配置思路操作步骤配置文件 方案简介 随着IPTV业务的迅速发展&#xff0c;IPTV平台承载的用户也越来越多&#xff0c;用户对IPTV直播业务的可靠性…...

Obsidian Importer:一站式笔记数据迁移终极指南

Obsidian Importer&#xff1a;一站式笔记数据迁移终极指南 【免费下载链接】obsidian-importer Obsidian Importer lets you import notes from other apps and file formats into your Obsidian vault. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-importer …...

用Python+OpenCV搞定热红外与可见光图像自动对齐(附完整代码与避坑指南)

PythonOpenCV实战&#xff1a;热红外与可见光图像自动配准全流程解析 引言 在工业检测、安防监控、医疗诊断等领域&#xff0c;热红外与可见光图像的融合分析正成为关键技术。两种成像模式各具优势&#xff1a;可见光图像色彩丰富、细节清晰&#xff0c;而热红外图像则能揭示物…...

Windows外接显示器亮度控制终极指南:使用Twinkle Tray轻松解决Windows系统限制

Windows外接显示器亮度控制终极指南&#xff1a;使用Twinkle Tray轻松解决Windows系统限制 【免费下载链接】twinkle-tray Easily manage the brightness of your monitors in Windows from the system tray 项目地址: https://gitcode.com/gh_mirrors/tw/twinkle-tray …...

基于帕尔贴效应的智能冷饮机制作:从热电制冷原理到嵌入式控制实践

1. 项目概述与核心思路在炎热的夏天&#xff0c;没有什么比一杯冰镇饮料更让人舒爽的了。但传统的加冰方式往往会稀释饮料的风味&#xff0c;而市面上的小型制冷设备要么体积庞大&#xff0c;要么价格不菲。作为一名热衷于将电子技术与生活创意结合的爱好者&#xff0c;我一直在…...

NVIDIA Profile Inspector终极指南:解锁显卡隐藏性能的700+高级设置

NVIDIA Profile Inspector终极指南&#xff1a;解锁显卡隐藏性能的700高级设置 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 作为一款开源显卡配置工具&#xff0c;NVIDIA Profile Inspector提供了直…...

Haystack框架实战:从零构建企业级智能问答系统

1. 项目概述&#xff1a;一个为构建智能搜索与问答系统而生的框架如果你正在为海量文档构建一个能“理解”问题并“找到”答案的智能系统&#xff0c;比如一个公司内部的知识库助手&#xff0c;或者一个能检索技术文档并给出精准回复的客服机器人&#xff0c;那么你很可能已经听…...

攻克:C8051Fxxx uVision驱动在Keil Debug中“隐身”的安装与配置实战

1. 问题背景与现象分析 第一次接触C8051Fxxx系列芯片的开发者&#xff0c;大概率会在Keil uVision环境中遇到一个让人抓狂的问题&#xff1a;明明按照官方文档安装了驱动&#xff0c;但在Debug选项列表中死活找不到"C8051Fxxx uVision"这个关键驱动。我当年接手公司一…...

WinHex不只是编辑器:手把手教你用它做磁盘镜像与克隆(避坑指南)

WinHex专业磁盘镜像与克隆实战指南&#xff1a;从取证备份到避坑技巧 1. 为什么WinHex是磁盘操作的首选利器 在数据恢复和取证领域&#xff0c;专业工具的选择往往决定了工作的成败。WinHex作为一款久经考验的十六进制编辑器&#xff0c;其功能远超出普通用户的想象。不同于常规…...

STM32CubeMX配置I2C驱动ADS1115,从零开始实现高精度电压采集(附完整工程源码)

STM32CubeMX配置I2C驱动ADS1115&#xff1a;从零实现工业级电压采集系统 在嵌入式开发中&#xff0c;高精度模拟信号采集一直是工程师面临的挑战。当我们需要测量微弱电压信号或实现多通道同步采集时&#xff0c;STM32内置ADC往往难以满足精度要求。本文将手把手教你使用STM32C…...

【VLM】Gated Attention, Gated DeltaNet

Gated Attention 和 Gated DeltaNet 是近期在长文本大模型&#xff08;特别是探索 O(N)O(N)O(N) 线性复杂度的高效序列模型&#xff09;中非常核心的架构创新。它们分别解决了传统 Transformer 在扩展上下文时面临的注意力坍缩&#xff08;Attention Sinks&#xff09;和线性注…...