tudc пре 4 година
родитељ
комит
dd94607702
3 измењених фајлова са 19 додато и 1 уклоњено
  1. 3 0
      front-vue/src/permission.js
  2. 4 1
      front-vue/src/store/modules/user.js
  3. 12 0
      front-vue/src/utils/request.js

+ 3 - 0
front-vue/src/permission.js

@@ -25,6 +25,9 @@ router.beforeEach((to, from, next) => {
       if (store.getters.roles.length === 0) {
         // 判断当前用户是否已拉取完user_info信息
         store.dispatch('GetInfo').then(res => {
+          if (res.code == 501) {
+            return;
+          }
           // 拉取user_info
           const roles = res.roles
           // 未选择企业或者企业状态不是正常

+ 4 - 1
front-vue/src/store/modules/user.js

@@ -96,7 +96,7 @@ const user = {
             commit('SET_EXPIRES_IN', data.tokenInfo.expires_in)
           // 未注册用户
           } else {
-            
+
           }
           resolve(res)
         }).catch(error => {
@@ -142,6 +142,9 @@ const user = {
     GetInfo({ commit, state }) {
       return new Promise((resolve, reject) => {
         getInfo(state.token).then(res => {
+          if (res.code == 501) {
+            resolve(res)
+          }
           const user = res.user
           const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : user.avatar;
           if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组

+ 12 - 0
front-vue/src/utils/request.js

@@ -96,6 +96,18 @@ service.interceptors.response.use(res => {
         type: 'error'
       })
       return Promise.reject(new Error(msg))
+    }  else if (code === 501) {
+      MessageBox.confirm('您的账号已在其他地方登录,请重新登录!', '系统提示', {
+          confirmButtonText: '重新登录',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }
+      ).then(() => {
+        store.dispatch('LogOut').then(() => {
+          location.href = '/home';
+        })
+      })
+      return res.data;
     } else if (code !== 200) {
       Notification.error({
         title: msg