fix: 修改同项目登录信息污染

This commit is contained in:
xuziqiang
2024-07-11 15:53:41 +08:00
parent 4d49ef4e42
commit 6137aaa4b6
19 changed files with 188 additions and 116 deletions

View File

@@ -32,6 +32,7 @@
getContainer: (triggerNode: any) => triggerNode.parentNode,
...attrs,
...props,
footerStyle: { textAlign: 'right' },
}));
return { getBindValue };
},

View File

@@ -4,7 +4,7 @@ export const routerConfig = {
router: router,
login: 'login',
logout: () => {
Cookies.remove('nervsid');
Cookies.remove(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`);
Cookies.remove('token');
sessionStorage.clear();
router.push('/login');

View File

@@ -4,6 +4,9 @@ import { authorizationService } from '/nerv-base/store/modules/authorization-ser
import { appConfigStore } from '/nerv-base/store/modules/app-config';
import { Cookies } from '/nerv-lib/util/cookie';
import { setRouteChange } from '/nerv-lib/util/routeChange';
console.log(import.meta.env.VITE_PUBLIC_PATH);
export function createPermissionGuard(router: Router, whiteNameList: string[]) {
const authorizationStore = authorizationService();
const appConfig = appConfigStore();
@@ -11,23 +14,26 @@ export function createPermissionGuard(router: Router, whiteNameList: string[]) {
if (!appConfig.userCustomRouterGuard) {
setRouteChange(to);
if (to?.query?.nervsid) {
if (to?.query?.nervsid !== Cookies.get('nervsid')) {
Cookies.set('nervsid', to?.query?.nervsid);
if (to?.query?.nervsid !== Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`)) {
Cookies.set(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`, to?.query?.nervsid);
try {
const info = await appConfig.userInfo();
await authorizationStore.initUserResource();
authorizationStore.initMenuResource();
appConfig.setUserInfo(info.data);
info.success
? window.sessionStorage.setItem('userInfo', JSON.stringify(info.data))
? window.sessionStorage.setItem(
import.meta.env.VITE_PUBLIC_PATH,
JSON.stringify(info.data),
)
: '';
} catch (err) {
Cookies.remove('nervsid');
Cookies.remove(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`);
}
}
}
if (
!Cookies.get('nervsid') &&
!Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`) &&
to.fullPath !== '/login' &&
to.name &&
!whiteNameList.includes(to.name as string)
@@ -36,15 +42,19 @@ export function createPermissionGuard(router: Router, whiteNameList: string[]) {
next({ name: 'login' });
} else {
// 存储用户信息
if (to.fullPath !== '/login') {
const initUserInfo = window.sessionStorage['userInfo'];
if (!initUserInfo && Cookies.get('nervsid')) {
const initUserInfo = window.sessionStorage[import.meta.env.VITE_PUBLIC_PATH];
if (!initUserInfo && Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`)) {
try {
const info = await appConfig.userInfo();
info.data ? window.sessionStorage.setItem('userInfo', JSON.stringify(info.data)) : '';
info.data
? window.sessionStorage.setItem(
import.meta.env.VITE_PUBLIC_PATH,
JSON.stringify(info.data),
)
: '';
} catch (err) {
Cookies.remove('nervsid');
Cookies.remove(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`);
}
} else {
if (initUserInfo) {

View File

@@ -168,7 +168,7 @@
const res = await http.post(configStore.updatePassWordInfo?.api, data);
if (res.success) {
NsMessage.success('修改成功,需重新登陆', 1, () => {
Cookies.remove('nervsid');
Cookies.remove(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`);
sessionStorage.clear();
router.push('/login');
authorizationStore.clearAuthorization();

View File

@@ -197,7 +197,7 @@
});
const toCustomUrl = (val: string) => {
window.open(`${val}?nervsid=${Cookies.get('nervsid')}`);
window.open(`${val}?nervsid=${Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`)}`);
};
const messageCount = computed(() => {
return messagecountStore.getCount;
@@ -267,12 +267,15 @@
const { getProjectName: projectName } = storeToRefs(authorizationStore);
const { getEnterpriseName: enterpriseName } = storeToRefs(authorizationStore);
const initUserInfo = window.sessionStorage['userInfo'];
const initUserInfo = window.sessionStorage[import.meta.env.VITE_PUBLIC_PATH];
if (!authorizationStore.getProjectName && Cookies.get('projectName')) {
authorizationStore.setProjectName(Cookies.get('projectName'));
}
if (!authorizationStore.getEnterpriseName && window.sessionStorage['userInfo']) {
const userInfo = JSON.parse(window.sessionStorage['userInfo']);
if (
!authorizationStore.getEnterpriseName &&
window.sessionStorage[import.meta.env.VITE_PUBLIC_PATH]
) {
const userInfo = JSON.parse(window.sessionStorage[import.meta.env.VITE_PUBLIC_PATH]);
authorizationStore.setEnterpriseName(
!userInfo.organizationalName ? '' : userInfo.organizationalName,
);
@@ -351,7 +354,7 @@
if (configStore.dropOut) {
configStore.dropOut(Cookies, router, useTags, authorizationStore, http);
} else {
Cookies.remove('nervsid');
Cookies.remove(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`);
sessionStorage.clear();
router.push('/login');
useTags().clearTags();
@@ -392,7 +395,7 @@
];
const backDoor = () => {
let protocol = window.location.protocol;
const nervsid = Cookies.get('nervsid');
const nervsid = Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`);
http.get('/portalurl.json').then((res) => {
if (nervsid) {
window.location.href = `${protocol}//${res.url}report?nervsid=${nervsid}`;

View File

@@ -187,8 +187,8 @@
// const messageCount = ref();
const time = ref();
const toCustomUrl = (val: string) => {
window.open(`${val}?nervsid=${Cookies.get('nervsid')}`);
// window.location.href = `${val}?nervsid=${Cookies.get('nervsid')}`;
window.open(`${val}?nervsid=${Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`)}`);
// window.location.href = `${val}?nervsid=${Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`)}`;
};
const messageCount = computed(() => {
return messagecountStore.getCount;
@@ -217,12 +217,15 @@
const userName = ref<string>('-');
const authorizationStore = authorizationService();
const initUserInfo = window.sessionStorage['userInfo'];
const initUserInfo = window.sessionStorage[import.meta.env.VITE_PUBLIC_PATH];
if (!authorizationStore.getProjectName && Cookies.get('projectName')) {
authorizationStore.setProjectName(Cookies.get('projectName'));
}
if (!authorizationStore.getEnterpriseName && window.sessionStorage['userInfo']) {
const userInfo = JSON.parse(window.sessionStorage['userInfo']);
if (
!authorizationStore.getEnterpriseName &&
window.sessionStorage[import.meta.env.VITE_PUBLIC_PATH]
) {
const userInfo = JSON.parse(window.sessionStorage[import.meta.env.VITE_PUBLIC_PATH]);
authorizationStore.setEnterpriseName(
!userInfo.organizationalName ? '' : userInfo.organizationalName,
);
@@ -314,7 +317,7 @@
if (configStore.dropOut) {
configStore.dropOut(Cookies, router, useTags, authorizationStore, http);
} else {
Cookies.remove('nervsid');
Cookies.remove(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`);
sessionStorage.clear();
router.push('/login');
useTags().clearTags();
@@ -353,7 +356,7 @@
];
const backDoor = () => {
let protocol = window.location.protocol;
const nervsid = Cookies.get('nervsid');
const nervsid = Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`);
http.get('/portalurl.json').then((res) => {
if (nervsid) {
window.location.href = `${protocol}//${res.url}report?nervsid=${nervsid}`;

View File

@@ -140,11 +140,14 @@
verifyRef.value?.reload();
if (res.data?.token) {
if (res.data?.token) {
Cookies.set('nervsid', res.data?.token);
Cookies.set(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`, res.data?.token);
}
const info = await configStore.userInfo();
info.data
? window.sessionStorage.setItem('userInfo', JSON.stringify(info.data))
? window.sessionStorage.setItem(
import.meta.env.VITE_PUBLIC_PATH,
JSON.stringify(info.data),
)
: '';
loading.value = false;
if (configStore.enablePermissions) {
@@ -264,7 +267,7 @@
},
mounted() {
// if (Cookies.get('nervsid') !== undefined) {
// if (Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`) !== undefined) {
// this.$router.push('/home');
// }
},

View File

@@ -43,14 +43,14 @@ export class NSAxios {
private interceptors(): void {
this.instance.interceptors.request.use((config: AxiosRequestConfig) => {
// config.headers.token = Cookies.get('nervsid');
// config.headers.token = Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`);
// config.withCredentials = true;
if (!config.headers) {
config.headers = {};
}
if (Cookies.get('nervsid')) {
config.headers['token'] = Cookies.get('nervsid');
if (Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`)) {
config.headers['token'] = Cookies.get(`${import.meta.env.VITE_PUBLIC_PATH}-nervsid`);
}
//暂时停用后端自己处理