灰产项目网,seo海外推广,温州个人建站模板,天津做网站的公司排行注#xff1a;在request请求和响应封装的文件里引入loading#xff0c;发请求时打开loading#xff0c;响应时关闭loading#xff0c;这样每个接口调用时都会有loading效果
#xff08;1#xff09; 首先确保项目中安装了element-ui这个依赖包
npm i element-ui -S在request请求和响应封装的文件里引入loading发请求时打开loading响应时关闭loading这样每个接口调用时都会有loading效果
1 首先确保项目中安装了element-ui这个依赖包
npm i element-ui -S2引入Loading
import { Loading } from element-ui3使用
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(code200 || 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