vue + elementui 全局Loading效果

news/2024/10/31 17:05:47/

注:在request请求和响应封装的文件里引入loading,发请求时打开loading,响应时关闭loading,这样每个接口调用时都会有loading效果

(1) 首先确保项目中安装了element-ui这个依赖包

npm i element-ui -S

(2)引入Loading

import { Loading } from 'element-ui'

(3)使用

let globalLoading   // 定义loading
 // 添加loading效果globalLoading = Loading.service({lock: true,text: '加载中…',background: 'rgba(0, 0, 0, 0.7)'})
globalLoading.close()  // 响应-关闭loading

完整代码如下:

import axios from 'axios'
import { Loading } from 'element-ui'
import { Notification } from 'element-ui'
import { getToken } from '@/utils/auth'// loading设置
let globalLoading// 创建axios实例
const service = axios.create({// axios中请求配置有baseURL选项,表示请求URL公共部分baseURL: process.env.VUE_APP_BASE_API,// 超时timeout: 30000
})
// request拦截器
service.interceptors.request.use(config => {// 请求加loadingglobalLoading = Loading.service({lock: true,text: '加载中…',background: 'rgba(0, 0, 0, 0.7)'})// 是否需要设置 tokenconst isToken = (config.headers || {}).isToken === falseif (getToken() && !isToken) {config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改}return config
}, error => {console.log(error)Promise.reject(error)
})// 响应拦截器
service.interceptors.response.use(res => {globalLoading.close()  // 响应-关闭loading// 未设置状态码则默认成功状态const code = res.data.code || 200;// 获取错误信息const msg = res.data.msgif(code==200 || code == 201 || code == 202 ){return res.data;} else if (code !== 200) {Notification.error({title: msg})return Promise.reject('error')} else {return res.data}},error => {console.log('err' + error)return Promise.reject(error)}
)export default service

http://www.ppmy.cn/news/1543391.html

相关文章

阿里云物联网的通信方式

阿里云物联网通信的两种方式,一个是物模型(分为服务,事件,属性此篇文章只讲解物模型中的服务和属性用法),一个是自定义topic(要另外设置数据流转) 1.使用产品内的功能定义&#xff0…

hivesql学习大纲

引言 - 简述Hive的用途和特点 - 为什么学习HiveSQL 第一部分:Hive基础 1.1 Hive简介 - 定义和架构 - Hive与传统数据库的区别 - Hive的应用场景 1.2 Hive环境搭建 - 所需环境和依赖 - 安装和配置Hive - 启动和停止Hive服务 1.3 Hive数据模型 - 数据库&#xff0…

关于synchronized死锁问题

大家先猜一下下面这个代码是否可以成功运行? Thread t new Thread(() - >{ synchronized(locker){ synchronized(locker){ //..随便写点啥都行 System.out.println("hello");}} }); t.start(); 从直观上感觉,这个加锁应该是不能成功呀!…

Django-中间件

定义: 编写中间件: 注册中间件: 添加中间件: 1.在项目目录下添加一个文件夹(名字随意),然后文件夹下创建.py文件 2.将中间件添加到setting文件中 MIDDLEWARE [django.middleware.security.Se…

2024年【北京市安全员-A证】考试题及北京市安全员-A证复审考试

题库来源:安全生产模拟考试一点通公众号小程序 北京市安全员-A证考试题是安全生产模拟考试一点通总题库中生成的一套北京市安全员-A证复审考试,安全生产模拟考试一点通上北京市安全员-A证作业手机同步练习。2024年【北京市安全员-A证】考试题及北京市安…

Word试题快速转换制作excel题库

一、问题描述 一些考证培训类的APP经常需要excel表格类型的题库,其结构如下图所示。从左往右分别是“题干”,“选项A”,“选项B”,“选项C”,“选项D”,“正确答案”,“解析”。 往往&#xff…

C语言:水仙花树,要求三位以上的N位整数每位的N次方等于数本身,全部输出出来

#include <stdio.h> int main() { int n; scanf("%d",&n);//这里是说明多少n位整数 int first1; int i1; while(i<n){//此while循环可以得到n位数的最小位,例如3位的100. first*10; i; } ifirst; whil…

禾川SV-X2E A伺服驱动器参数设置——脉冲型

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff01;人工智能学习网站 前言&#xff1a; 大家好&#xff0c;我是上位机马工&#xff0c;硕士毕业4年年入40万&#xff0c;目前在一家自动化公司担任…