add NProgress

This commit is contained in:
jxxghp
2023-07-02 00:46:02 +08:00
parent af40056809
commit f824184bf6
5 changed files with 46 additions and 18 deletions

View File

@@ -8,10 +8,14 @@ import store from '@/store'
import '@core/scss/template/index.scss'
import '@layouts/styles/index.scss'
import '@styles/styles.scss'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import { createApp } from 'vue'
loadFonts()
// Nprogress
NProgress.configure({ showSpinner: false })
// Create vue app
const app = createApp(App)
@@ -21,3 +25,23 @@ app
.use(router)
.use(store)
.mount('#app')
// 导航守卫
router.beforeEach((to, from, next) => {
// 通过 Vuex Store 检查用户是否已登录
const isAuthenticated = store.state.auth.token !== null
if (to.meta.requiresAuth && !isAuthenticated) {
// 如果路由需要登录权限且用户未登录,则跳转到登录页面
next('/login')
}
else {
// 否则,允许继续进行路由导航
NProgress.start()
next()
}
})
router.afterEach(() => {
NProgress.done()
})