From 2ca94de8ede18ac07ccfd8dec7b6f6a707adde9b Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Mon, 01 Sep 2025 11:20:24 +0800
Subject: [PATCH] Merge branch 'refs/heads/feature/v5.0/5.0.5' into patch_management

---
 src/store/modules/user.js |   23 ++++++++++++++++++++---
 1 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 91a754a..2750ef4 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -8,6 +8,7 @@
 import { setStore, getStore } from '@/utils/store';
 import { validatenull } from '@/utils/validate';
 import { deepClone } from '@/utils/util';
+import defaultAva from '@/assets/images/defaultava.png'
 import {
   loginByUsername,
   loginBySocial,
@@ -26,6 +27,7 @@
 import { encrypt } from '@/utils/sm2';
 import md5 from 'js-md5';
 
+
 const user = {
   state: {
     tenantId: getStore({ name: 'tenantId' }) || '',
@@ -38,6 +40,7 @@
     token: getStore({ name: 'token' }) || '',
     refreshToken: getStore({ name: 'refreshToken' }) || '',
     parentDeptInfo: getStore({ name: 'parentDeptInfo' }) || '',
+
   },
   actions: {
     //根据用户名登录
@@ -236,7 +239,6 @@
             commit('CLEAR_LOCK');
             removeToken();
             removeRefreshToken();
-            removeToken();
             resolve();
           })
           .catch(error => {
@@ -268,16 +270,31 @@
       });
     },
     GetMenu({ commit, dispatch }, tenantId) {
+      const errLogOut = () => {
+        dispatch('LogOut').then(()=>{
+          const env = import.meta.env.VITE_APP_ENV
+          const adminUrl = import.meta.env.VITE_APP_DASHBOARD_URL
+          env === 'development'
+            ? window.location.href = "/manage/login"
+            : window.location.replace(`${adminUrl}#/login`)
+        })
+      }
       return new Promise(resolve => {
         getRoutes(tenantId).then(res => {
           const data = res.data.data;
           let menu = deepClone(data);
+          if (!res.data?.data?.length){
+            errLogOut()
+            return
+          }
           menu.forEach(ele => formatPath(ele, true));
           commit('SET_MENU', menu);
           commit('SET_MENU_ALL', menu);
           dispatch('GetButtons');
           resolve(menu);
-        });
+        }).catch(err =>{
+          errLogOut()
+        })
       });
     },
     GetButtons({ commit }) {
@@ -320,7 +337,7 @@
         state.userInfo = { user_name: 'unauth', role_name: 'unauth' };
       } else {
         if (validatenull(userInfo.avatar)) {
-          userInfo.avatar = '/img/bg/img-logo.png';
+          userInfo.avatar = defaultAva;
         }
         state.userInfo = userInfo;
       }

--
Gitblit v1.9.3