|
@@ -38,20 +38,37 @@ router.onError((error) => {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+function getFirstMenu(routes) {
|
|
|
+ let firstMenu = null
|
|
|
+ routes.forEach(item => {
|
|
|
+ if(!firstMenu && item.children.length > 0) {
|
|
|
+ item.children.forEach(child => {
|
|
|
+ if(!firstMenu && !child.hidden) {
|
|
|
+ firstMenu = item.path + '/' + child.path
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ console.log(firstMenu)
|
|
|
+ return firstMenu
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
router.beforeEach(async (to, from, next) => {
|
|
|
+ console.log(to)
|
|
|
// from.query = to.query
|
|
|
// start progress bar
|
|
|
NProgress.start()
|
|
|
// set page title
|
|
|
// document.title = getPageTitle(to.meta.title)
|
|
|
document.title = getPageTitle()
|
|
|
-
|
|
|
// determine whether the user has logged in
|
|
|
const hasToken = getToken()
|
|
|
if (hasToken) {
|
|
|
if (to.path === '/login') {
|
|
|
// 如果有tonken直接跳转到首页
|
|
|
- next({ path: '/' })
|
|
|
+ next({ path: '/' })
|
|
|
+
|
|
|
NProgress.done()
|
|
|
} else {
|
|
|
const hasGetUserInfo = store.getters.name
|
|
@@ -61,7 +78,7 @@ router.beforeEach(async (to, from, next) => {
|
|
|
|
|
|
// 动态添加可访问的路由
|
|
|
// router.addRoutes(accessRoutes)
|
|
|
- next()
|
|
|
+ next()
|
|
|
} else {
|
|
|
try {
|
|
|
// 异步获取用户信息
|
|
@@ -72,7 +89,13 @@ router.beforeEach(async (to, from, next) => {
|
|
|
router.addRoutes(accessRoutes)
|
|
|
// 确保addroutes完整的hack方法
|
|
|
// 设置replace:true,这样导航就不会留下历史记录。
|
|
|
- next({ ...to, replace: true })
|
|
|
+ let firstMenu = getFirstMenu(accessRoutes)
|
|
|
+ console.log(3, firstMenu, to)
|
|
|
+ if(to.path == '/main/main') {
|
|
|
+ next({ path: firstMenu, replace: true })
|
|
|
+ } else {
|
|
|
+ next({ ...to, replace: true })
|
|
|
+ }
|
|
|
} catch (error) {
|
|
|
// remove token and go to login page to re-login
|
|
|
await store.dispatch('user/resetToken')
|