吉安感知网项目-前端
chenyao
2 days ago a53ece5036c1fa61a63fe5f9e0cd3519210ab928
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,26 +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()
      })
    },
    GetTopMenu () {
@@ -270,20 +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 => {
          const data = res.data.data
          let menu = deepClone(data)
          if (!res.data?.data?.length) {
            errLogOut()
        getRoutes({tenantId,sysType}).then(res => {
          const data = res.data.data;
          let menu = deepClone(data);
          if (!res.data?.data?.length){
                  ElMessage.warning('当前角色没有配置菜单,请联系管理员配置')
                  setTimeout(logOutFun,1500)
            return
          }
          menu.forEach(ele => formatPath(ele, true))
@@ -292,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()