From f542d731de01e6897243b2072523ecdaa6c63505 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期五, 01 三月 2024 08:50:02 +0800
Subject: [PATCH] 修改

---
 src/permission.js |   29 ++++++++++++++++++++++++++++-
 1 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/src/permission.js b/src/permission.js
index 609d215..01ff805 100644
--- a/src/permission.js
+++ b/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(() => {

--
Gitblit v1.9.2