马宇豪
2024-03-01 f542d731de01e6897243b2072523ecdaa6c63505
src/permission.js
@@ -27,7 +27,34 @@
          store.dispatch('GenerateRoutes').then(accessRoutes => {
            // 根据roles权限生成可访问的路由表
            router.addRoutes(accessRoutes) // 动态添加可访问路由表
            next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
            // next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
            let path = '';
            if (accessRoutes[0].path === '/') {
              path = accessRoutes[0].path + accessRoutes[0].children[0].path; //获取第一路由路径
            } else {
              path = accessRoutes[0].path + '/' + accessRoutes[0].children[0].path; //获取第一路由路径
            }
            if (accessRoutes[0].children[0].query !== undefined) { //如果当前路由存在路由参数,则带入
              let query = JSON.parse(accessRoutes[0].children[0].query);
              let temp = '';
              for (var val in query) {
                if (temp.length == 0) {
                  temp = "?";
                } else {
                  temp = temp + "&";
                }
                temp = temp + val + "=" + query[val];
              }
              path = path + temp;
            }
            var temp = {...to, replace: true};
            var curPath = temp.path;
            if (from.path == '/login' || curPath == "/" ) {
              next({path, replace: true}) // hack方法 确保addRoutes已完成
            } else {
              next(temp) // hack方法 确保addRoutes已完成
            }
          })
        }).catch(err => {
            store.dispatch('LogOut').then(() => {