This commit is contained in:
zk
2024-06-27 11:26:55 +08:00
parent 778e350959
commit 752405b9a4
4 changed files with 72 additions and 10 deletions
+33 -6
View File
@@ -101,7 +101,7 @@
import { useRoute, useRouter } from 'vue-router';
import { getAuthCache } from '/@/utils/auth.ts';
import { TOKEN_KEY } from '/@/enum/cacheEnum.ts';
import { getCurrentPath, PageEnum, setBaseLogin, toHomeByLogoutPath, toLoginByNowPath } from '/@/enum/pageEnum.ts';
import { getCurrentPath, PageEnum, setBaseLogin, toHomeByLogoutPath } from '/@/enum/pageEnum.ts';
import { message } from 'ant-design-vue';
const router = useRouter();
@@ -191,12 +191,39 @@
if (userInfo) {
try {
let { code, result, message: msg } = await getAuth();
let authCode = ['emergency:screen:show:yinchuan', 'emergency:screen:show:xian'];
let goPath = '';
if (code == 200) {
let flag = result?.codeList?.find((item) => authCode.includes(item));
if (!flag) {
let flag1 = result?.codeList?.find((item) => ['emergency:screen:show:yinchuan'].includes(item));
let flag2 = result?.codeList?.find((item) => ['emergency:screen:show:xian'].includes(item));
userStore.setFlag1(flag1);
userStore.setFlag2(flag2);
if (!flag1 && !flag2) {
userStore.setToken('', false);
userStore.setUserInfo({});
return message.warn('您没有权限访问大屏,请联系管理员!');
}
//1如果有权限
//1.2若果是有两种权限
if (flag1 && flag2) {
// 1.2.1 如果是登录地址是西安
// 1.2.2 如果是登录地址是银川
if (route.path == PageEnum.BASE_LOGIN_YINCHUAN) {
goPath = PageEnum.YINCHUAN_HOME;
} else {
goPath = PageEnum.BASE_HOME;
}
} else {
if (flag1 && route.path == PageEnum.BASE_LOGIN_YINCHUAN) {
goPath = PageEnum.YINCHUAN_HOME;
} else if (flag2 && route.path == PageEnum.BASE_HOME) {
goPath = PageEnum.BASE_HOME;
} else {
userStore.setToken('', false);
userStore.setUserInfo({});
return message.warn('没有权限请联系管理员!');
}
}
} else {
return message.warn(msg);
}
@@ -205,9 +232,9 @@
description: `${t('login.loginSuccessDesc')}: ${userInfo.realname}`,
duration: 3,
});
let path = toHomeByNowPath();
setBaseLogin(route.path);
router.replace({ path: path });
router.replace(goPath);
} catch (e) {
message.warn(e);
}