| | |
| | | import { setToken, setRefreshToken, removeToken, removeRefreshToken, getRefreshToken } from '@/utils/auth' |
| | | import { setToken, setRefreshToken, removeToken, removeRefreshToken, getRefreshToken, getToken } 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, |
| | |
| | | // 登出 |
| | | LogOut({ commit }) { |
| | | return new Promise((resolve, reject) => { |
| | | logout() |
| | | const promiseRes = getToken() ? logout() : Promise.resolve() |
| | | promiseRes |
| | | .then(() => { |
| | | commit('SET_TOKEN', '') |
| | | commit('SET_MENU_ALL_NULL', []) |
| | |
| | | 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() { |
| | |
| | | }) |
| | | }, |
| | | 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 = '/task-work-order/login') |
| | | : window.location.replace(`${adminUrl}#/login`) |
| | | }) |
| | | } |
| | | return new Promise(resolve => { |
| | | getRoutes({ tenantId, sysType: 6 }) |
| | | .then(res => { |
| | | const data = res.data.data |
| | | let menu = deepClone(data) |
| | | if (!res.data?.data?.length) { |
| | | errLogOut() |
| | | ElMessage.warning('当前角色没有配置菜单,请联系管理员配置') |
| | | setTimeout(logOutFun,1500) |
| | | return |
| | | } |
| | | menu.forEach(ele => formatPath(ele, true)) |
| | |
| | | resolve(menu) |
| | | }) |
| | | .catch(err => { |
| | | errLogOut() |
| | | logOutFun() |
| | | }) |
| | | }) |
| | | }, |