From 5f694550ed7bf0f6147c66feaa4406034ae62e54 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Tue, 11 Aug 2026 19:06:00 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 applications/drone-command/src/store/modules/user.js |   43 +++++++++++--------------------------------
 1 files changed, 11 insertions(+), 32 deletions(-)

diff --git a/applications/drone-command/src/store/modules/user.js b/applications/drone-command/src/store/modules/user.js
index 0a71fbc..104d96e 100644
--- a/applications/drone-command/src/store/modules/user.js
+++ b/applications/drone-command/src/store/modules/user.js
@@ -3,11 +3,12 @@
   setRefreshToken,
   removeToken,
   removeRefreshToken,
+	getToken,
   getRefreshToken,
 } from '@/utils/auth'
 import { setStore, getStore } from '@/utils/store'
 import { validatenull } from '@/utils/validate'
-import { deepClone } from '@/utils/util'
+import { deepClone, logOutFun } from '@/utils/util'
 import defaultAva from '@/assets/images/defaultava.png'
 import {
   loginByUsername,
@@ -27,6 +28,8 @@
 import { encrypt } from '@/utils/sm2'
 import md5 from 'js-md5'
 
+// 5是反制无人机菜单,7是系统菜单
+const sysType = localStorage.getItem('sysType') || 5
 
 const user = {
   state: {
@@ -40,7 +43,6 @@
     token: getStore({ name: 'token' }) || '',
     refreshToken: getStore({ name: 'refreshToken' }) || '',
     parentDeptInfo: getStore({ name: 'parentDeptInfo' }) || '',
-
   },
   actions: {
     //根据用户名登录
@@ -229,8 +231,8 @@
     // 登出
     LogOut ({ commit }) {
       return new Promise((resolve, reject) => {
-        logout()
-          .then(() => {
+				const promiseRes = getToken() ? logout() : Promise.resolve()
+				promiseRes.then(() => {
             commit('SET_TOKEN', '')
             commit('SET_MENU_ALL_NULL', [])
             commit('SET_MENU', [])
@@ -239,28 +241,13 @@
             commit('CLEAR_LOCK')
             removeToken()
             removeRefreshToken()
+						removeToken()
             resolve()
 						localStorage.clear()
           })
           .catch(error => {
             reject(error)
           })
-      })
-    },
-    //注销session
-    FedLogOut ({ commit }) {
-      return new Promise(resolve => {
-        commit('SET_TOKEN', '')
-        commit('SET_MENU_ALL_NULL', [])
-        commit('SET_MENU', [])
-        commit('SET_ROLES', [])
-        commit('DEL_ALL_TAG', [])
-        commit('CLEAR_LOCK')
-        removeToken()
-        removeRefreshToken()
-        removeToken()
-        resolve()
-				localStorage.clear()
       })
     },
     GetTopMenu () {
@@ -272,21 +259,13 @@
       })
     },
     GetMenu ({ commit, dispatch }, tenantId) {
-      const errLogOut = () => {
-        dispatch('LogOut').then(() => {
-          window.location.href = "/drone-command/login"
-          // env === 'development'
-          //   ? window.location.href = "/drone-command/login"
-          //   : window.location.replace(`${adminUrl}#/login`)
-        })
-      }
       return new Promise(resolve => {
-        getRoutes({tenantId,sysType: 5}).then(res => {
+        getRoutes({tenantId,sysType}).then(res => {
           const data = res.data.data;
           let menu = deepClone(data);
           if (!res.data?.data?.length){
 						ElMessage.warning('当前角色没有配置菜单,请联系管理员配置')
-            errLogOut()
+						setTimeout(logOutFun,1500)
             return
           }
           menu.forEach(ele => formatPath(ele, true))
@@ -295,13 +274,13 @@
           dispatch('GetButtons')
           resolve(menu)
         }).catch(err => {
-          errLogOut()
+					logOutFun()
         })
       })
     },
     GetButtons ({ commit }) {
       return new Promise(resolve => {
-        getButtons({ sysType: 5 }).then(res => {
+        getButtons({ sysType}).then(res => {
           const data = res.data.data
           commit('SET_PERMISSION', data)
           resolve()

--
Gitblit v1.9.3