From 6e88705bd5b443a259b24c17c8a299765d059d96 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 23 Jul 2026 16:50:41 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web
---
applications/drone-command/src/store/modules/user.js | 381 +++++++++++++++++++++++++----------------------------
1 files changed, 181 insertions(+), 200 deletions(-)
diff --git a/applications/drone-command/src/store/modules/user.js b/applications/drone-command/src/store/modules/user.js
index 3950b41..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';
+} from '@/utils/auth'
+import { setStore, getStore } from '@/utils/store'
+import { validatenull } from '@/utils/validate'
+import { deepClone, logOutFun } from '@/utils/util'
import defaultAva from '@/assets/images/defaultava.png'
import {
loginByUsername,
@@ -20,13 +21,15 @@
getButtons,
registerUser,
getParentDeptInfo
-} from '@/api/user';
-import { getRoutes, getTopMenu } from '@/api/system/menu';
-import { formatPath } from '@/router/avue-router';
-import { ElMessage } from 'element-plus';
-import { encrypt } from '@/utils/sm2';
-import md5 from 'js-md5';
+} from '@/api/user'
+import { getRoutes, getTopMenu } from '@/api/system/menu'
+import { formatPath } from '@/router/avue-router'
+import { ElMessage } from 'element-plus'
+import { encrypt } from '@/utils/sm2'
+import md5 from 'js-md5'
+// 5是反制无人机菜单,7是系统菜单
+const sysType = localStorage.getItem('sysType') || 5
const user = {
state: {
@@ -40,11 +43,10 @@
token: getStore({ name: 'token' }) || '',
refreshToken: getStore({ name: 'refreshToken' }) || '',
parentDeptInfo: getStore({ name: 'parentDeptInfo' }) || '',
-
},
actions: {
//根据用户名登录
- LoginByUsername({ commit }, userInfo = {}) {
+ LoginByUsername ({ commit }, userInfo = {}) {
return new Promise((resolve, reject) => {
loginByUsername(
userInfo.tenantId,
@@ -57,82 +59,82 @@
userInfo.code
)
.then(res => {
- const data = res.data;
+ const data = res.data
if (data.error_description) {
ElMessage({
message: data.error_description,
type: 'error',
- });
+ })
} else {
- commit('SET_TOKEN', data.access_token);
- commit('SET_REFRESH_TOKEN', data.refresh_token);
- commit('SET_TENANT_ID', data.tenant_id);
- commit('SET_USER_INFO', data);
- commit('SET_PARENT_DEPT_INFO', data.dept_id);
- commit('DEL_ALL_TAG');
- commit('CLEAR_LOCK');
+ commit('SET_TOKEN', data.access_token)
+ commit('SET_REFRESH_TOKEN', data.refresh_token)
+ commit('SET_TENANT_ID', data.tenant_id)
+ commit('SET_USER_INFO', data)
+ commit('SET_PARENT_DEPT_INFO', data.dept_id)
+ commit('DEL_ALL_TAG')
+ commit('CLEAR_LOCK')
}
- resolve();
+ resolve()
})
.catch(err => {
- reject(err);
- });
- });
+ reject(err)
+ })
+ })
},
//根据第三方信息登录
- LoginBySocial({ commit }, userInfo) {
+ LoginBySocial ({ commit }, userInfo) {
return new Promise((resolve, reject) => {
loginBySocial(userInfo.tenantId, userInfo.source, userInfo.code, userInfo.state)
.then(res => {
- const data = res.data;
+ const data = res.data
if (data.error_description) {
ElMessage({
message: data.error_description,
type: 'error',
- });
+ })
} else {
- commit('SET_TOKEN', data.access_token);
- commit('SET_REFRESH_TOKEN', data.refresh_token);
- commit('SET_USER_INFO', data);
- commit('SET_TENANT_ID', data.tenant_id);
- commit('DEL_ALL_TAG');
- commit('CLEAR_LOCK');
+ commit('SET_TOKEN', data.access_token)
+ commit('SET_REFRESH_TOKEN', data.refresh_token)
+ commit('SET_USER_INFO', data)
+ commit('SET_TENANT_ID', data.tenant_id)
+ commit('DEL_ALL_TAG')
+ commit('CLEAR_LOCK')
}
- resolve();
+ resolve()
})
.catch(err => {
- reject(err);
- });
- });
+ reject(err)
+ })
+ })
},
//根据单点信息登录
- LoginBySso({ commit }, userInfo) {
+ LoginBySso ({ commit }, userInfo) {
return new Promise((resolve, reject) => {
loginBySso(userInfo.state, userInfo.code)
.then(res => {
- const data = res.data;
+ const data = res.data
if (data.error_description) {
ElMessage({
message: data.error_description,
type: 'error',
- });
+ })
} else {
- commit('SET_TOKEN', data.access_token);
- commit('SET_REFRESH_TOKEN', data.refresh_token);
- commit('SET_USER_INFO', data);
- commit('SET_TENANT_ID', data.tenant_id);
- commit('DEL_ALL_TAG');
- commit('CLEAR_LOCK');
+ commit('SET_TOKEN', data.access_token)
+ commit('SET_REFRESH_TOKEN', data.refresh_token)
+ commit('SET_USER_INFO', data)
+ commit('SET_TENANT_ID', data.tenant_id)
+ commit('DEL_ALL_TAG')
+ commit('CLEAR_LOCK')
}
- resolve();
+ resolve()
})
.catch(err => {
- reject(err);
- });
- });
+ reject(err)
+ })
+ })
},
//根据手机信息登录
- LoginByPhone({ commit }, userInfo) {
+ LoginByPhone ({ commit }, userInfo) {
return new Promise((resolve, reject) => {
loginByPhone(
userInfo.tenantId,
@@ -141,29 +143,29 @@
userInfo.codeValue
)
.then(res => {
- const data = res.data;
+ const data = res.data
if (data.error_description) {
ElMessage({
message: data.error_description,
type: 'error',
- });
+ })
} else {
- commit('SET_TOKEN', data.access_token);
- commit('SET_REFRESH_TOKEN', data.refresh_token);
- commit('SET_USER_INFO', data);
- commit('SET_TENANT_ID', data.tenant_id);
- commit('DEL_ALL_TAG');
- commit('CLEAR_LOCK');
+ commit('SET_TOKEN', data.access_token)
+ commit('SET_REFRESH_TOKEN', data.refresh_token)
+ commit('SET_USER_INFO', data)
+ commit('SET_TENANT_ID', data.tenant_id)
+ commit('DEL_ALL_TAG')
+ commit('CLEAR_LOCK')
}
- resolve();
+ resolve()
})
.catch(err => {
- reject(err);
- });
- });
+ reject(err)
+ })
+ })
},
//用户注册
- RegisterUser({ commit }, userInfo = {}) {
+ RegisterUser ({ commit }, userInfo = {}) {
return new Promise((resolve, reject) => {
registerUser(
userInfo.tenantId,
@@ -173,40 +175,40 @@
userInfo.phone,
userInfo.email
).then(res => {
- const data = res.data;
+ const data = res.data
if (data.error_description) {
ElMessage({
message: data.error_description,
type: 'error',
- });
- reject(data.error_description);
+ })
+ reject(data.error_description)
} else {
- commit('SET_TOKEN', data.access_token);
- commit('SET_REFRESH_TOKEN', data.refresh_token);
- commit('SET_USER_INFO', data);
- commit('SET_TENANT_ID', data.tenant_id);
- commit('DEL_ALL_TAG');
- commit('CLEAR_LOCK');
+ commit('SET_TOKEN', data.access_token)
+ commit('SET_REFRESH_TOKEN', data.refresh_token)
+ commit('SET_USER_INFO', data)
+ commit('SET_TENANT_ID', data.tenant_id)
+ commit('DEL_ALL_TAG')
+ commit('CLEAR_LOCK')
}
- resolve();
- });
- });
+ resolve()
+ })
+ })
},
- GetUserInfo({ commit }) {
+ GetUserInfo ({ commit }) {
return new Promise((resolve, reject) => {
getUserInfo()
.then(res => {
- const data = res.data.data;
- commit('SET_ROLES', data.roles);
- resolve(data);
+ const data = res.data.data
+ commit('SET_ROLES', data.roles)
+ resolve(data)
})
.catch(err => {
- reject(err);
- });
- });
+ reject(err)
+ })
+ })
},
//刷新token
- RefreshToken({ state, commit }, userInfo) {
+ RefreshToken ({ state, commit }, userInfo) {
return new Promise((resolve, reject) => {
refreshToken(
getRefreshToken(),
@@ -215,182 +217,161 @@
!validatenull(userInfo) ? userInfo.roleId : state.userInfo.role_id
)
.then(res => {
- const data = res.data;
- commit('SET_TOKEN', data.access_token);
- commit('SET_REFRESH_TOKEN', data.refresh_token);
- commit('SET_USER_INFO', data);
- resolve();
+ const data = res.data
+ commit('SET_TOKEN', data.access_token)
+ commit('SET_REFRESH_TOKEN', data.refresh_token)
+ commit('SET_USER_INFO', data)
+ resolve()
})
.catch(error => {
- reject(error);
- });
- });
+ reject(error)
+ })
+ })
},
// 登出
- LogOut({ commit }) {
+ LogOut ({ commit }) {
return new Promise((resolve, reject) => {
- logout()
- .then(() => {
- commit('SET_TOKEN', '');
- commit('SET_MENU_ALL_NULL', []);
- commit('SET_MENU', []);
- commit('SET_ROLES', []);
- commit('DEL_ALL_TAG', []);
- commit('CLEAR_LOCK');
- removeToken();
- removeRefreshToken();
- resolve();
+ const promiseRes = getToken() ? logout() : Promise.resolve()
+ promiseRes.then(() => {
+ 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()
})
.catch(error => {
- reject(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() {
+ GetTopMenu () {
return new Promise(resolve => {
getTopMenu().then(res => {
- const data = res.data.data || [];
- resolve(data);
- });
- });
- },
- 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`)
+ const data = res.data.data || []
+ resolve(data)
})
- }
+ })
+ },
+ GetMenu ({ commit, dispatch }, tenantId) {
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){
- errLogOut()
+ ElMessage.warning('当前角色没有配置菜单,请联系管理员配置')
+ setTimeout(logOutFun,1500)
return
}
- menu.forEach(ele => formatPath(ele, true));
- commit('SET_MENU', menu);
- commit('SET_MENU_ALL', menu);
- dispatch('GetButtons');
- resolve(menu);
- }).catch(err =>{
- errLogOut()
+ menu.forEach(ele => formatPath(ele, true))
+ commit('SET_MENU', menu)
+ commit('SET_MENU_ALL', menu)
+ dispatch('GetButtons')
+ resolve(menu)
+ }).catch(err => {
+ logOutFun()
})
- });
+ })
},
- GetButtons({ commit }) {
+ GetButtons ({ commit }) {
return new Promise(resolve => {
- getButtons({sysType: 5}).then(res => {
- const data = res.data.data;
- commit('SET_PERMISSION', data);
- resolve();
- });
- });
+ getButtons({ sysType}).then(res => {
+ const data = res.data.data
+ commit('SET_PERMISSION', data)
+ resolve()
+ })
+ })
},
},
mutations: {
- SET_PARENT_DEPT_INFO(state, deptId){
- getParentDeptInfo({deptId:deptId}).then(res=>{
- const data = res.data.data;
- state.parentDeptInfo = data;
- setStore({ name: 'parentDeptInfo', content: data });
+ SET_PARENT_DEPT_INFO (state, deptId) {
+ getParentDeptInfo({ deptId: deptId }).then(res => {
+ const data = res.data.data
+ state.parentDeptInfo = data
+ setStore({ name: 'parentDeptInfo', content: data })
})
},
SET_TOKEN: (state, token) => {
- setToken(token);
- state.token = token;
- setStore({ name: 'token', content: state.token });
+ setToken(token)
+ state.token = token
+ setStore({ name: 'token', content: state.token })
},
SET_REFRESH_TOKEN: (state, refreshToken) => {
- setRefreshToken(refreshToken);
- state.refreshToken = refreshToken;
- setStore({ name: 'refreshToken', content: state.refreshToken });
+ setRefreshToken(refreshToken)
+ state.refreshToken = refreshToken
+ setStore({ name: 'refreshToken', content: state.refreshToken })
},
- SET_MENU_ID(state, menuId) {
- state.menuId = menuId;
+ SET_MENU_ID (state, menuId) {
+ state.menuId = menuId
},
SET_TENANT_ID: (state, tenantId) => {
- state.tenantId = tenantId;
- setStore({ name: 'tenantId', content: state.tenantId });
+ state.tenantId = tenantId
+ setStore({ name: 'tenantId', content: state.tenantId })
},
SET_USER_INFO: (state, userInfo) => {
if (validatenull(userInfo.user_id) && validatenull(userInfo.account)) {
- state.userInfo = { user_name: 'unauth', role_name: 'unauth' };
+ state.userInfo = { user_name: 'unauth', role_name: 'unauth' }
} else {
if (validatenull(userInfo.avatar)) {
- userInfo.avatar = defaultAva;
+ userInfo.avatar = defaultAva
}
- state.userInfo = userInfo;
+ state.userInfo = userInfo
}
- setStore({ name: 'userInfo', content: state.userInfo });
+ setStore({ name: 'userInfo', content: state.userInfo })
},
SET_MENU_ALL: (state, menuAll) => {
- let menu = state.menuAll;
+ let menu = state.menuAll
menuAll.forEach(ele => {
- let index = menu.findIndex(item => item.path === ele.path);
+ let index = menu.findIndex(item => item.path === ele.path)
if (index === -1) {
- menu.push(ele);
+ menu.push(ele)
} else {
- menu[index] = ele;
+ menu[index] = ele
}
- });
- state.menuAll = menu;
- setStore({ name: 'menuAll', content: state.menuAll });
+ })
+ state.menuAll = menu
+ setStore({ name: 'menuAll', content: state.menuAll })
},
SET_MENU_ALL_NULL: state => {
- state.menuAll = [];
- setStore({ name: 'menuAll', content: state.menuAll });
+ state.menuAll = []
+ setStore({ name: 'menuAll', content: state.menuAll })
},
SET_MENU: (state, menu) => {
- state.menu = menu;
- setStore({ name: 'menu', content: state.menu });
+ state.menu = menu
+ setStore({ name: 'menu', content: state.menu })
},
SET_ROLES: (state, roles) => {
- state.roles = roles;
+ state.roles = roles
},
SET_PERMISSION: (state, permission) => {
- let result = [];
+ let result = []
- function getCode(list) {
+ function getCode (list) {
list.forEach(ele => {
if (typeof ele === 'object') {
- const children = ele.children;
- const code = ele.code;
+ const children = ele.children
+ const code = ele.code
if (children) {
- getCode(children);
+ getCode(children)
} else {
- result.push(code);
+ result.push(code)
}
}
- });
+ })
}
- getCode(permission);
- state.permission = {};
+ getCode(permission)
+ state.permission = {}
result.forEach(ele => {
- state.permission[ele] = true;
- });
- setStore({ name: 'permission', content: state.permission, type: 'session' });
+ state.permission[ele] = true
+ })
+ setStore({ name: 'permission', content: state.permission, type: 'session' })
},
},
-};
-export default user;
+}
+export default user
--
Gitblit v1.9.3