From 7816dc56b94a76eea9a39c3b95d4cbe618f87f33 Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Thu, 20 Feb 2020 11:14:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=B7=A5=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E7=A9=BA=E9=97=B4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/io/metersphere/service/UserService.java | 6 +++++- frontend/src/performance/components/HeaderMenus.vue | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/io/metersphere/service/UserService.java b/backend/src/main/java/io/metersphere/service/UserService.java index 901447a9c8..51e1637675 100644 --- a/backend/src/main/java/io/metersphere/service/UserService.java +++ b/backend/src/main/java/io/metersphere/service/UserService.java @@ -13,6 +13,8 @@ import io.metersphere.controller.request.member.QueryMemberRequest; import io.metersphere.dto.UserDTO; import io.metersphere.dto.UserRoleDTO; import io.metersphere.dto.UserRoleHelpDTO; +import io.metersphere.user.SessionUser; +import io.metersphere.user.SessionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -219,8 +221,10 @@ public class UserService { public void switchUserRole(UserDTO user, String sourceId) { User newUser = new User(); + user.setLastSourceId(sourceId); BeanUtils.copyProperties(user, newUser); - newUser.setLastSourceId(sourceId); + // 切换工作空间或组织之后更新 session 里的 user + SessionUtils.putUser(SessionUser.fromUser(user)); userMapper.updateByPrimaryKeySelective(newUser); } diff --git a/frontend/src/performance/components/HeaderMenus.vue b/frontend/src/performance/components/HeaderMenus.vue index 6089b7d88c..84632d3948 100644 --- a/frontend/src/performance/components/HeaderMenus.vue +++ b/frontend/src/performance/components/HeaderMenus.vue @@ -81,10 +81,10 @@ data() { return { organizationList: [ - { index: '7-1', name: '组织1'}, + {index: '7-1', name: '组织1'}, ], workspaceList: [ - { index: '2-1', name: '无工作空间'}, + {index: '2-1', name: '无工作空间'}, ], currentUserInfo: {}, currentUserId: JSON.parse(Cookies.get(TokenKey)).id, @@ -93,7 +93,7 @@ }, methods: { initMenuData() { - this.$get("/organization/list/userorg/" + this.currentUserId,response => { + this.$get("/organization/list/userorg/" + this.currentUserId, response => { this.organizationList = response.data; }) this.$get("/workspace/list/userworkspace/" + this.currentUserId, response => { @@ -114,7 +114,7 @@ let user = {}; user.id = this.currentUserInfo.id; user.lastSourceId = data.id; - this.$post("/user/update", user); + this.$post("/user/switch/source/" + user.lastSourceId, {}); window.location.reload(); } }