| xqd
@@ -8,7 +8,7 @@ import getPageTitle from '@/utils/get-page-title'
|
|
|
|
|
|
NProgress.configure({ showSpinner: false }) // NProgress Configuration
|
|
|
|
|
|
-const whiteList = ['/login','/register'] // no redirect whitelist
|
|
|
+const whiteList = ['/login', '/register'] // no redirect whitelist
|
|
|
|
|
|
router.beforeEach(async(to, from, next) => {
|
|
|
// start progress bar
|
| xqd
@@ -26,21 +26,31 @@ router.beforeEach(async(to, from, next) => {
|
|
|
next()
|
|
|
NProgress.done()
|
|
|
} else {
|
|
|
- try {
|
|
|
+ if ($store.getters.addRouters.length && to.name !== null) {
|
|
|
+ next()
|
|
|
+ } else {
|
|
|
const userInfo = await $store.dispatch('user/ActionUserInfo')
|
|
|
$store.dispatch('permission/GenerateRoutes', userInfo).then(() => { // 生成可访问的路由表
|
|
|
router.addRoutes($store.getters.addRouters) // 动态添加可访问路由表
|
|
|
router.options.routes = $store.getters.addRouters
|
|
|
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
|
|
|
})
|
|
|
- next()
|
|
|
- } catch (error) {
|
|
|
- // remove token and go to login page to re-login
|
|
|
- await $store.dispatch('user/resetToken')
|
|
|
- Message.error(error || 'Has Error')
|
|
|
- next(`/login?redirect=${to.path}`)
|
|
|
- NProgress.done()
|
|
|
}
|
|
|
+ // try {
|
|
|
+ // const userInfo = await $store.dispatch('user/ActionUserInfo')
|
|
|
+ // $store.dispatch('permission/GenerateRoutes', userInfo).then(() => { // 生成可访问的路由表
|
|
|
+ // router.addRoutes($store.getters.addRouters) // 动态添加可访问路由表
|
|
|
+ // router.options.routes = $store.getters.addRouters
|
|
|
+ // next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
|
|
|
+ // })
|
|
|
+ // next()
|
|
|
+ // } catch (error) {
|
|
|
+ // // remove token and go to login page to re-login
|
|
|
+ // await $store.dispatch('user/resetToken')
|
|
|
+ // Message.error(error || 'Has Error')
|
|
|
+ // next(`/login?redirect=${to.path}`)
|
|
|
+ // NProgress.done()
|
|
|
+ // }
|
|
|
// const hasGetUserInfo = $store.getters.name
|
|
|
// if (hasGetUserInfo) {
|
|
|
// next()
|