From 55f821ecb4b61bda2e4308b0a04b5ec0d767b31e Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Fri, 16 Aug 2024 09:58:58 +0800
Subject: [PATCH] 修改
---
src/permission.js | 38 +++++++++++++++++++++++++++++++++++++-
1 files changed, 37 insertions(+), 1 deletions(-)
diff --git a/src/permission.js b/src/permission.js
index 609d215..0aed761 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -23,11 +23,47 @@
isRelogin.show = true
// 判断当前用户是否已拉取完user_info信息
store.dispatch('GetInfo').then(() => {
+
isRelogin.show = false
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 === '/') {
+ if(accessRoutes[0].children){
+ path = accessRoutes[0].path + accessRoutes[0].children[0].path; //获取第一路由路径
+ }else {
+ path = accessRoutes[0].path
+ }
+ } else {
+ if(accessRoutes[0].children){
+ path = accessRoutes[0].path + '/' + accessRoutes[0].children[0].path; //获取第一路由路径
+ }else {
+ path = accessRoutes[0].path + '/'
+ }
+ }
+
+ if (accessRoutes[0].children && 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