Skip to content

Commit ad22497

Browse files
committed
添加 vue-progressbar
1 parent 9cb7e9c commit ad22497

File tree

5 files changed

+34
-4
lines changed

5 files changed

+34
-4
lines changed

package-lock.json

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"moment": "^2.24.0",
2020
"node-sass": "^4.13.0",
2121
"vue": "^2.6.10",
22+
"vue-progressbar": "^0.7.5",
2223
"vue-router": "^3.0.6",
2324
"vuex": "^3.0.1"
2425
},

src/App.vue

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<template>
22
<div id="app">
3+
<vue-progress-bar></vue-progress-bar>
34
<el-container>
45
<el-header class="header-box" v-if="layoutShow">
56
<page-header></page-header>
@@ -36,6 +37,19 @@ export default {
3637
}
3738
return true
3839
}
40+
},
41+
created () {
42+
this.$Progress.start()
43+
this.$router.beforeEach((to, from, next) => {
44+
this.$Progress.start()
45+
next()
46+
})
47+
this.$router.afterEach((to, from) => {
48+
this.$Progress.finish()
49+
})
50+
},
51+
mounted () {
52+
this.$Progress.finish()
3953
}
4054
}
4155
</script>

src/main.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Vue from 'vue'
2+
import VueProgressBar from 'vue-progressbar'
23
import './plugins/axios'
34
import App from './App.vue'
45
import router from './router'
@@ -10,6 +11,12 @@ import './style/common.scss'
1011
console.log(process.env.VUE_APP_host)
1112
console.log(process.env.VUE_APP_pathname)
1213

14+
const options = {
15+
color: '#409EFF'
16+
}
17+
18+
Vue.use(VueProgressBar, options)
19+
1320
Vue.config.productionTip = false
1421
Vue.prototype.$moment = moment
1522

src/plugins/axios.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Vue from 'vue'
44
import axios from 'axios'
55
import './element.js'
66
import store from './../store'
7+
import app from './../main'
78

89
// Full config: https://github.com/axios/axios#request-config
910
// axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || ''
@@ -26,7 +27,8 @@ let pageAxiosList = new Set() // 用于解决同时请求多个 service 接口
2627
let axiosSource // 需要最新的链接的保存参数的地方,适用于搜索框
2728

2829
_axios.interceptors.request.use(
29-
function (config) {
30+
config => {
31+
app.$Progress.start()
3032
// Do something before request is sent
3133
if (config.showLoading && !pageAxiosList.size) {
3234
pageLoading = Vue.prototype.$loading({
@@ -58,7 +60,7 @@ _axios.interceptors.request.use(
5860

5961
return config
6062
},
61-
function (error) {
63+
error => {
6264
// Do something with request error
6365
pageLoading && pageLoading.close()
6466
Vue.prototype.$message.error({
@@ -72,7 +74,8 @@ _axios.interceptors.request.use(
7274

7375
// Add a response interceptor
7476
_axios.interceptors.response.use(
75-
function (response) {
77+
response => {
78+
app.$Progress.finish()
7679
// Do something with response data
7780
let nowUrl = response.config.url
7881
if (pageAxiosList.has(nowUrl)) {
@@ -96,7 +99,7 @@ _axios.interceptors.response.use(
9699

97100
return response
98101
},
99-
function (error) {
102+
error => {
100103
// Do something with response error
101104
if (_axios.isCancel(error)) {
102105
// 判断是否是切换路由导致的取消,如果是的话还需要将 pageAxiosList 清空

0 commit comments

Comments
 (0)